AWS IoT Embedded C Device SDK
Macros | Functions | Variables
aws_iot_mqtt_client.c File Reference

MQTT client API definitions. More...

#include <string.h>
#include "aws_iot_log.h"
#include "aws_iot_mqtt_client_interface.h"
#include "aws_iot_version.h"

Macros

#define SDK_METRICS_LEN   25
 
#define SDK_METRICS_TEMPLATE   "?SDK=C&Version=%d.%d.%d"
 

Functions

ClientState aws_iot_mqtt_get_client_state (AWS_IoT_Client *pClient)
 Get the current state of the client. More...
 
IoT_Error_t aws_iot_mqtt_set_client_state (AWS_IoT_Client *pClient, ClientState expectedCurrentState, ClientState newState)
 
IoT_Error_t aws_iot_mqtt_set_connect_params (AWS_IoT_Client *pClient, IoT_Client_Connect_Params *pNewConnectParams)
 Set the connection parameters for the IoT Client. More...
 
IoT_Error_t aws_iot_mqtt_init (AWS_IoT_Client *pClient, IoT_Client_Init_Params *pInitParams)
 MQTT Client Initialization Function. More...
 
uint16_t aws_iot_mqtt_get_next_packet_id (AWS_IoT_Client *pClient)
 What is the next available packet Id. More...
 
bool aws_iot_mqtt_is_client_connected (AWS_IoT_Client *pClient)
 Is the MQTT client currently connected? More...
 
bool aws_iot_is_autoreconnect_enabled (AWS_IoT_Client *pClient)
 Is the MQTT client set to reconnect automatically? More...
 
IoT_Error_t aws_iot_mqtt_autoreconnect_set_status (AWS_IoT_Client *pClient, bool newStatus)
 Enable or Disable AutoReconnect on Network Disconnect. More...
 
IoT_Error_t aws_iot_mqtt_set_disconnect_handler (AWS_IoT_Client *pClient, iot_disconnect_handler pDisconnectHandler, void *pDisconnectHandlerData)
 Set the IoT Client disconnect handler. More...
 
uint32_t aws_iot_mqtt_get_network_disconnected_count (AWS_IoT_Client *pClient)
 Get count of Network Disconnects. More...
 
void aws_iot_mqtt_reset_network_disconnected_count (AWS_IoT_Client *pClient)
 Reset Network Disconnect conter. More...
 

Variables

const IoT_Client_Init_Params iotClientInitParamsDefault = IoT_Client_Init_Params_initializer
 
const IoT_MQTT_Will_Options iotMqttWillOptionsDefault = IoT_MQTT_Will_Options_Initializer
 
const IoT_Client_Connect_Params iotClientConnectParamsDefault = IoT_Client_Connect_Params_initializer
 

Function Documentation

bool aws_iot_is_autoreconnect_enabled ( AWS_IoT_Client pClient)

Called to determine if the MQTT client is set to reconnect automatically. Used to support logic in the device application around reconnecting

Parameters
pClientReference to the IoT Client
Returns
true = enabled, false = disabled
IoT_Error_t aws_iot_mqtt_autoreconnect_set_status ( AWS_IoT_Client pClient,
bool  newStatus 
)

Called to enable or disabled the auto reconnect features provided with the SDK

Parameters
pClientReference to the IoT Client
newStatusset to true for enabling and false for disabling
Returns
IoT_Error_t Type defining successful/failed API call
ClientState aws_iot_mqtt_get_client_state ( AWS_IoT_Client pClient)

Called to get the current state of the client

Parameters
pClientReference to the IoT Client
Returns
ClientState value equal to the current state of the client
uint32_t aws_iot_mqtt_get_network_disconnected_count ( AWS_IoT_Client pClient)

Called to get the number of times a network disconnect occurred due to errors

Parameters
pClientReference to the IoT Client
Returns
uint32_t the disconnect count
uint16_t aws_iot_mqtt_get_next_packet_id ( AWS_IoT_Client pClient)

Called to retrieve the next packet id to be used for outgoing packets. Automatically increments the last sent packet id variable

Parameters
pClientReference to the IoT Client
Returns
next packet id as a 16 bit unsigned integer
IoT_Error_t aws_iot_mqtt_init ( AWS_IoT_Client pClient,
IoT_Client_Init_Params pInitParams 
)

Called to initialize the MQTT Client

Parameters
pClientReference to the IoT Client
pInitParamsPointer to MQTT connection parameters
Returns
IoT_Error_t Type defining successful/failed API call
bool aws_iot_mqtt_is_client_connected ( AWS_IoT_Client pClient)

Called to determine if the MQTT client is currently connected. Used to support logic in the device application around reconnecting and managing offline state.

Parameters
pClientReference to the IoT Client
Returns
true = connected, false = not currently connected
void aws_iot_mqtt_reset_network_disconnected_count ( AWS_IoT_Client pClient)

Called to reset the Network Disconnect counter to zero

Parameters
pClientReference to the IoT Client
IoT_Error_t aws_iot_mqtt_set_connect_params ( AWS_IoT_Client pClient,
IoT_Client_Connect_Params pNewConnectParams 
)

Called to set the connection parameters for the IoT Client. Used to update the connection parameters provided before the last connect. Won't take effect until the next time connect is called

Parameters
pClientReference to the IoT Client
pNewConnectParamsReference to the new Connection Parameters structure
Returns
IoT_Error_t Type defining successful/failed API call
IoT_Error_t aws_iot_mqtt_set_disconnect_handler ( AWS_IoT_Client pClient,
iot_disconnect_handler  pDisconnectHandler,
void *  pDisconnectHandlerData 
)

Called to set the IoT Client disconnect handler The disconnect handler is called whenever the client disconnects with error

Parameters
pClientReference to the IoT Client
pConnectHandlerReference to the new Disconnect Handler
pDisconnectHandlerDataReference to the data to be passed as argument when disconnect handler is called
Returns
IoT_Error_t Type defining successful/failed API call