Lines Matching full:mailbox

6 A :dfn:`mailbox` is a kernel object that provides enhanced message queue
8 A mailbox allows threads to send and receive messages of any size
19 mailbox is referenced by its memory address.
21 A mailbox has the following key properties:
27 A mailbox must be initialized before it can be used. This sets both of its
30 A mailbox allows threads, but not ISRs, to exchange messages.
36 Messages exchanged using a mailbox are handled non-anonymously,
44 data is located, and how the message is to be handled by the mailbox.
46 when accessing a mailbox. The mailbox uses the message descriptors to perform
48 The mailbox also updates certain message descriptor fields during the exchange,
51 A mailbox message contains zero or more bytes of **message data**.
69 it is given to a mailbox by the sending thread. The message is then owned
70 by the mailbox until it is given to a receiving thread. The receiving thread
71 may retrieve the message data when it receives the message from the mailbox,
72 or it may perform data retrieval during a second, subsequent mailbox operation.
73 Only when data retrieval has occurred is the message deleted by the mailbox.
96 Mailbox messages can be exchanged **synchronously** or **asynchronously**.
115 Defining a Mailbox
118 A mailbox is defined using a variable of type :c:struct:`k_mbox`.
121 The following code defines and initializes an empty mailbox.
129 Alternatively, a mailbox can be defined and initialized at compile time
143 internal mailbox use only.
156 zero if the message data is not wanted. The mailbox updates this field with
167 when receiving a message. The mailbox updates this field with
173 when sending a message. The mailbox updates this field
175 the mailbox.
185 Finally, the sending thread calls a mailbox send API to initiate the
188 to the mailbox's send queue.
198 sending thread is reached, the message is removed from the mailbox's send queue
207 The waiting period only limits how long the mailbox waits
215 The sending thread may optionally specify a semaphore that the mailbox gives
216 when the message is deleted by the mailbox, for example, when the message
219 a flow control mechanism that ensures that the mailbox holds no more than
231 This code uses a mailbox to synchronously pass 4 byte random values
261 This code uses a mailbox to synchronously pass variable-sized requests
306 mailbox receive APIs. The mailbox searches its send queue and takes the message
346 The mailbox copies the message's data to the message buffer as part of the
350 left unchanged. In all cases the mailbox updates the receiving thread's
356 The following code uses a mailbox to process variable-sized requests from any
406 The mailbox does not copy any message data as part of the receive operation.
407 However, the mailbox still updates the receiving thread's message descriptor
415 the mailbox has already completed data retrieval and deleted the message.
419 and supply a message buffer large enough to hold the data. The mailbox copies
424 and specify a message buffer of ``NULL``. The mailbox deletes
433 The following code uses a mailbox's deferred data retrieval mechanism
470 Use a mailbox to transfer data items between threads whenever the capabilities