MQTT Server 1.0.0
|i32||mqtt_server_topic_enroll (const void *app_hnd, const struct utf8_string *topic, enum mqtt_qos qos)|
|i32||mqtt_server_topic_disenroll (const void *app_hnd, const struct utf8_string *topic)|
|i32||mqtt_server_app_pub_send (const struct utf8_string *topic, const u8 *data_buf, u32 data_len, enum mqtt_qos qos, bool retain)|
|void *||mqtt_server_app_register (const struct mqtt_server_app_cbs *cbs, const i8 *name)|
|i32||mqtt_server_init (const struct mqtt_server_lib_cfg *lib_cfg, const struct mqtt_server_app_cfg *app_cfg)|
The MQTT server daemon, a task, provisions the high level abstractions for the smart applicaltions. This is an intelligent layer that utilizes the services of the MQTT Server Packet Library and is responsible for the functions of the topic management, the client management and support of multiple server applications.
The light-weight server enables the services of the MQTT protocol for an application to either extend and / or control the existing functions to suit the deployment specific scenario. These applications in practice are the plug-ins / add-ons to the core server functionalities. Specifically, these applications, among others capabilities, can be used for analyzing and approving the credentials of the remote clients, acting as a bridge between a MQTT external client and the server, and a snooper to learn about all the data transactions to / from the server.
The server is targeted to conform to MQTT 3.1.1 specification.
The services of the server are multi-task safe. Platform specific atomicity constructs are used, through abstractions, by the server to maintain data coherency and synchronization.
The server offers the following compile line configurable parameters (-D opt)
- CFG_SR_MAX_MQP_TX_LEN: the constant buffer length allocated for a TX.
- CFG_SR_MAX_SUBTOP_LEN: the maximum buffer size to hold a sub-topic. For e.g., in the topic /x/y/z, the phrase /x, /y and z are sub-topics.
- CFG_SR_MAX_TOPIC_NODE: the maximum number of topic nodes in server. For e.g., in the topic /x/y/z, there are three nodes (/x, /y and z).
- CFG_SR_MAX_CL_ID_SIZE: the maximum length of the client-id string.
- CFG_SR_MAX_NUM_CLIENT: the maximum number of clients to be managed. Note this is different from the maximum number of 'contexts'. A large number of clients can be managed using fewer number of 'contexts' (connections).
- Any future extensions & development must follow the following guidelines. A new API or an extension to the existing API a) must be rudimentary b) must not imply a rule or policy (including a state machine) b) must ensure simple design and implementation
Generated on Mon Nov 17 2014 12:12:08 for MQTT Server by 1.7.4