Types defined for mailbox. More...

Enumerations

enum EmberAfMailboxStatus {
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. More...

Detailed Description

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.

Enumeration Type Documentation

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

Definition at line 55 of file mailbox-types.h .