Lines Matching full:item

24 * A **data item size**, measured in bytes.
31 A data item can be **sent** to a message queue by a thread or an ISR.
32 The data item pointed at by the sending thread is copied to a waiting thread,
33 if one exists; otherwise the item is copied to the message queue's ring buffer,
35 *must* equal the message queue's data item size.
37 If a thread attempts to send a data item when the ring buffer is full,
43 A data item can be **received** from a message queue by a thread.
44 The data item is copied to the area specified by the receiving thread;
45 the size of the receiving area *must* equal the message queue's data item size.
47 If a thread attempts to receive a data item when the ring buffer is empty,
48 the receiving thread may choose to wait for a data item to be sent.
50 is empty; when a data item becomes available it is given to
55 The data item is copied to the area specified by the receiving thread;
56 the size of the receiving area *must* equal the message queue's data item size.
59 The kernel does allow an ISR to receive an item from a message queue,
105 A data item is added to a message queue by calling :c:func:`k_msgq_put`.
120 /* create data item to send (e.g. measurement, timestamp, ...) */
129 /* data item was successfully added to message queue */
136 A data item is taken from a message queue by calling :c:func:`k_msgq_get`.
150 /* get a data item */
153 /* process data item */
162 A data item is read from a message queue by calling :c:func:`k_msgq_peek`.
164 The following code peeks into the message queue to read the data item at the
174 /* read a data item by peeking into the queue */
177 /* process data item */
191 while a data item is written or read. The time to write or read a data item
192 increases linearly with its size since the item is copied in its entirety
194 to transfer large data items by exchanging a pointer to the data item,
195 rather than the data item itself.