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
- Version
- 7.0.0
Typedefs
-
typedef
size_t(* mqtt_on_publish_t)(struct mqtt_client_t *client_p, const char *topic_p, chan_t *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, chan_t *chout_p, chan_t *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::@37 mqtt_client_t::message
-
struct mqtt_client_t::@38 mqtt_client_t::transport
-
struct mqtt_client_t::@39 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::@40 mqtt_application_message_t::topic
-
const void *
buf_p
¶
-
struct mqtt_application_message_t::@41 mqtt_application_message_t::payload
-
mqtt_qos_t
qos
¶
-
const char *