5.5. mqtt_client — MQTT client¶
Source code: src/inet/mqtt_client.h, src/inet/mqtt_client.c
Test code: tst/inet/mqtt_client/main.c
Test coverage: src/inet/mqtt_client.c
Typedefs
-
typedef size_t (*
mqtt_on_publish_t)(struct mqtt_client_t *client_p, const char *topic_p, void *chin_p, size_t size)¶ Prototype of the on-publish callback function.
- Return
- Number of bytes read from the input channel.
- Parameters
client_p: The client.topic_p: The received topic.chin_p: The channel to read the value from.size: Number of bytes of the value to read from chin_p.
-
typedef int (*
mqtt_on_error_t)(struct mqtt_client_t *client_p, int error)¶ Prototype of the on-error callback function.
- Return
- zero(0) or nagative error code.
- Parameters
client_p: The client.error: The number of error that occured.
Enums
Functions
-
int
mqtt_client_init(struct mqtt_client_t *self_p, const char *name_p, struct log_object_t *log_object_p, void *chout_p, void *chin_p, mqtt_on_publish_t on_publish, mqtt_on_error_t on_error)¶ Initialize given MQTT client.
- Return
- zero(0) or negative error code.
- Parameters
self_p: MQTT client.name_p: Name of the thread.log_object_p: Log object.chout_p: Output channel for client to server packets.chin_p: Input channel for server to client packets.on_publish: On-publish callback function. Called when the server publishes a message.on_error: On-error callback function. Called when an error occurs.
-
void *
mqtt_client_main(void *arg_p)¶ MQTT client thread.
- Return
- Never returns.
- Parameters
arg_p: MQTT client.
-
int
mqtt_client_connect(struct mqtt_client_t *self_p)¶ Establish a connection to the server.
- Return
- zero(0) or negative error code.
- Parameters
self_p: MQTT client.
-
int
mqtt_client_disconnect(struct mqtt_client_t *self_p)¶ Disconnect from the server.
- Return
- zero(0) or negative error code.
- Parameters
self_p: MQTT client.
-
int
mqtt_client_ping(struct mqtt_client_t *self_p)¶ Send a ping request to the server (broker) and wait for the ping response.
- Return
- zero(0) or negative error code.
- Parameters
self_p: MQTT client.
-
int
mqtt_client_publish(struct mqtt_client_t *self_p, struct mqtt_application_message_t *message_p)¶ Publish given topic.
- Return
- zero(0) or negative error code.
- Parameters
self_p: MQTT client.topic_p: Topic.payload_p: Payload to publish. May be NULL.payload_size: Number of bytes in the payload.
-
int
mqtt_client_subscribe(struct mqtt_client_t *self_p, struct mqtt_application_message_t *message_p)¶ Subscribe to given message.
- Return
- zero(0) or negative error code.
- Parameters
self_p: MQTT client.message_p: The message to subscribe to. The payload part of the message is not used. The topic may use wildcards, given that the server supports it.
-
int
mqtt_client_unsubscribe(struct mqtt_client_t *self_p, struct mqtt_application_message_t *message_p)¶ Unsubscribe from given message.
- Return
- zero(0) or negative error code.
- Parameters
self_p: MQTT client.message_p: The message to unsubscribe from. Only the topic in the message is used.
-
struct
mqtt_client_t¶ - #include <mqtt_client.h>
MQTT client.
Public Members
-
const char *
name_p¶
-
struct log_object_t *
log_object_p¶
-
int
state¶
-
int
type¶
-
void *
data_p¶
-
struct mqtt_client_t::@51 mqtt_client_t::message
-
void *
out_p¶
-
void *
in_p¶
-
struct mqtt_client_t::@52 mqtt_client_t::transport
-
struct mqtt_client_t::@53 mqtt_client_t::control
-
mqtt_on_publish_t
on_publish¶
-
mqtt_on_error_t
on_error¶
-
const char *
-
struct
mqtt_application_message_t¶ - #include <mqtt_client.h>
MQTT application message.
Public Members
-
const char *
buf_p¶
-
size_t
size¶
-
struct mqtt_application_message_t::@54 mqtt_application_message_t::topic
-
const void *
buf_p¶
-
struct mqtt_application_message_t::@55 mqtt_application_message_t::payload
-
mqtt_qos_t
qos¶
-
const char *