-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall provide a mechanism to define and initialize a mailbox at run time.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall provide a mechanism to statically define and initialize a mailbox object at compile time.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall support messages containing zero or more bytes of data.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall handle the data transfer between mailbox objects of the sending and receiving threads.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall provide a mechanism for a thread to send a message through a mailbox and block until the message is processed or a timeout occurs.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
If the synchronous message send operation times out before a receiver processes the message, the Zephyr RTOS shall return an timeout error code to the sending thread.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall provide a mechanism for a thread to send a message through a mailbox without waiting for it to be processed.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
When a sending thread asynchronously sends a message to a mailbox object, the Zephyr RTOS shall provide a mechanism to signal to the sending thread that the message has been both received and completely processed by the receiver.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall provide a mechanism for a thread to receive a message via a mailbox object with a timeout parameter.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall provide a mechanism for a thread to retrieve message data via a mailbox object.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
When a receiving thread requests a message via a mailbox object and no message is available, the Zephyr RTOS shall block the receiving thread until a message is available or the timeout expires.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
If the message receive operation times out before a message becomes available, the Zephyr RTOS shall return an appropriate timeout error code to the receiving thread.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall handle message exchange via a mailbox object non-anonymously, allowing both the sending and receiving threads to know the identity of the other thread.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
When multiple threads are waiting on an empty mailbox object, the Zephyr RTOS shall deliver the next message to the highest priority thread.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
When multiple threads of equal priority are waiting on an empty mailbox object, the Zephyr RTOS shall deliver the next message to the thread that has waited the longest.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall support an arbitrary number of mailbox objects, limited only by available RAM in the system.
-
14.1. Mailboxes ZEP-SYRS-25 The Zephyr RTOS shall provide a framework to pass messages of arbitrary size between threads.
The Zephyr RTOS shall handle invalid parameters by returning error codes rather than causing system failures.