Mailbox Common#
Types defined for mailbox.
Mailbox protocol is designed for devices that can't be online on the network all the time. The most common example for this is a sleepy end device.
Mailbox clients and the server can submit messages into the mailbox, which is stored in RAM on the mailbox server. Clients can then query the mailbox server for available messages.
The mailbox server will notify clients who submit messages when a message was delivered or when it couldn't be delivered due to an error.
Mailbox uses a plugin-configurable protocol endpoint, which is 15 by default.
The server can also configure the size of the mailbox (in number of packets, 25 by default) and the packet timeout, after which the server drops the message and notifies the source of the error.
The mailbox protocol uses standard data messages, so in case of sleepy end devices, it will use the indirect queue. This means that if a sleepy end device sends a request to a mailbox server, the end device should poll for the response.
Note
Mailbox is not available in MAC mode due to the lack of endpoints.
Enumerations#
Mailbox return status codes.
Enumeration Documentation#
EmberAfMailboxStatus#
EmberAfMailboxStatus
Mailbox return status codes.
Enumerator | |
---|---|
EMBER_MAILBOX_STATUS_SUCCESS | The generic "no error" message. |
EMBER_MAILBOX_STATUS_INVALID_CALL | Indicates invalid message pointer or length. |
EMBER_MAILBOX_STATUS_BUSY | Indicates that the local mailbox implementation is busy performing a previously requested task. |
EMBER_MAILBOX_STATUS_STACK_ERROR | Indicates that the Connect stack returned an error to the mailbox plugin. |
EMBER_MAILBOX_STATUS_INVALID_ADDRESS | Indicates that an address passed to the API was invalid. |
EMBER_MAILBOX_STATUS_MESSAGE_TOO_LONG | Indicates that the message passed to the plugin was too long. |
EMBER_MAILBOX_STATUS_MESSAGE_TABLE_FULL | Indicates that the message table on the server is full. |
EMBER_MAILBOX_STATUS_MESSAGE_NO_BUFFERS | Indicates that the server was unable to allocate memory from the heap (See Memory Buffer for details). |
EMBER_MAILBOX_STATUS_MESSAGE_NO_RESPONSE | Indicates that the mailbox server did not respond to the client's request. |
EMBER_MAILBOX_STATUS_MESSAGE_TIMED_OUT | Indicates that the message timed out on the mailbox server. |
EMBER_MAILBOX_STATUS_MESSAGE_NO_DATA | Indicates that there are no pending messages on the server to this device |
68
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/mailbox/mailbox-types.h