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#

enum
EMBER_MAILBOX_STATUS_SUCCESS = 0x00
EMBER_MAILBOX_STATUS_INVALID_CALL = 0x01
EMBER_MAILBOX_STATUS_BUSY = 0x02
EMBER_MAILBOX_STATUS_STACK_ERROR = 0x03
EMBER_MAILBOX_STATUS_INVALID_ADDRESS = 0x04
EMBER_MAILBOX_STATUS_MESSAGE_TOO_LONG = 0x05
EMBER_MAILBOX_STATUS_MESSAGE_TABLE_FULL = 0x06
EMBER_MAILBOX_STATUS_MESSAGE_NO_BUFFERS = 0x07
EMBER_MAILBOX_STATUS_MESSAGE_NO_RESPONSE = 0x08
EMBER_MAILBOX_STATUS_MESSAGE_TIMED_OUT = 0x09
EMBER_MAILBOX_STATUS_MESSAGE_NO_DATA = 0x0A
}

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

Definition at line 68 of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/mailbox/mailbox-types.h