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 | |
EMBER_MAILBOX_STATUS_INVALID_CALL | |
EMBER_MAILBOX_STATUS_BUSY | |
EMBER_MAILBOX_STATUS_STACK_ERROR | |
EMBER_MAILBOX_STATUS_INVALID_ADDRESS | |
EMBER_MAILBOX_STATUS_MESSAGE_TOO_LONG | |
EMBER_MAILBOX_STATUS_MESSAGE_TABLE_FULL | |
EMBER_MAILBOX_STATUS_MESSAGE_NO_BUFFERS | |
EMBER_MAILBOX_STATUS_MESSAGE_NO_RESPONSE | |
EMBER_MAILBOX_STATUS_MESSAGE_TIMED_OUT | |
EMBER_MAILBOX_STATUS_MESSAGE_NO_DATA |
68
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/mailbox/mailbox-types.h