MQTT C Client Libraries Internals
Loading...
Searching...
No Matches
MQTTProtocolOut.c File Reference

Functions dealing with the MQTT protocol exchanges. More...

#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "MQTTProtocolOut.h"
#include "StackTrace.h"
#include "Heap.h"
#include "WebSocket.h"
#include "Proxy.h"
#include "Base64.h"
Include dependency graph for MQTTProtocolOut.c:

Functions

size_t MQTTProtocol_addressPort (const char *uri, int *port, const char **topic, int default_port)
 Separates an address:port into two separate values.
 
int MQTTProtocol_connect (const char *address, Clients *aClient, int unixsock, int websocket, int MQTTVersion, MQTTProperties *connectProperties, MQTTProperties *willProperties)
 MQTT outgoing connect processing for a client.
 
int MQTTProtocol_handlePingresps (void *pack, SOCKET sock)
 Process an incoming pingresp packet for a socket.
 
int MQTTProtocol_subscribe (Clients *client, List *topics, List *qoss, int msgID, MQTTSubscribe_options *opts, MQTTProperties *props)
 MQTT outgoing subscribe processing for a client.
 
int MQTTProtocol_handleSubacks (void *pack, SOCKET sock)
 Process an incoming suback packet for a socket.
 
int MQTTProtocol_unsubscribe (Clients *client, List *topics, int msgID, MQTTProperties *props)
 MQTT outgoing unsubscribe processing for a client.
 
int MQTTProtocol_handleUnsubacks (void *pack, SOCKET sock)
 Process an incoming unsuback packet for a socket.
 
int MQTTProtocol_handleDisconnects (void *pack, SOCKET sock)
 Process an incoming disconnect packet for a socket.
 

Variables

ClientStatesbstate
 

Detailed Description

Functions dealing with the MQTT protocol exchanges.

Some other related functions are in the MQTTProtocolClient module

Function Documentation

◆ MQTTProtocol_addressPort()

size_t MQTTProtocol_addressPort ( const char * uri,
int * port,
const char ** topic,
int default_port )

Separates an address:port into two separate values.

Parameters
[in]urithe input string - hostname:port
[out]portthe returned port integer
[out]topicoptional topic portion of the address starting with '/'
Returns
the address string

◆ MQTTProtocol_connect()

int MQTTProtocol_connect ( const char * address,
Clients * aClient,
int unixsock,
int websocket,
int MQTTVersion,
MQTTProperties * connectProperties,
MQTTProperties * willProperties )

MQTT outgoing connect processing for a client.

Parameters
addressThe address of the server. For TCP this is in the form 'address:port; for a UNIX socket it's the path to the socket file, etc.
aClienta structure with all MQTT data needed
unixsockWhether the address if for a UNIX-domain socket
sslWhether we're connecting with SSL/TLS
websocketWhether we should use a websocket for the connection
MQTTVersionthe MQTT version to connect with (3, 4, or 5)
connectPropertiesThe connection properties
willPropertiesProperties for the LWT
timeouthow long to wait for a new socket to be created
Returns
return code
Here is the call graph for this function:

◆ MQTTProtocol_handleDisconnects()

int MQTTProtocol_handleDisconnects ( void * pack,
SOCKET sock )

Process an incoming disconnect packet for a socket.

Parameters
packpointer to the disconnect packet
sockthe socket on which the packet was received
Returns
completion code
Here is the call graph for this function:

◆ MQTTProtocol_handlePingresps()

int MQTTProtocol_handlePingresps ( void * pack,
SOCKET sock )

Process an incoming pingresp packet for a socket.

Parameters
packpointer to the publish packet
sockthe socket on which the packet was received
Returns
completion code
Here is the call graph for this function:

◆ MQTTProtocol_handleSubacks()

int MQTTProtocol_handleSubacks ( void * pack,
SOCKET sock )

Process an incoming suback packet for a socket.

Parameters
packpointer to the publish packet
sockthe socket on which the packet was received
Returns
completion code
Here is the call graph for this function:

◆ MQTTProtocol_handleUnsubacks()

int MQTTProtocol_handleUnsubacks ( void * pack,
SOCKET sock )

Process an incoming unsuback packet for a socket.

Parameters
packpointer to the publish packet
sockthe socket on which the packet was received
Returns
completion code
Here is the call graph for this function:

◆ MQTTProtocol_subscribe()

int MQTTProtocol_subscribe ( Clients * client,
List * topics,
List * qoss,
int msgID,
MQTTSubscribe_options * opts,
MQTTProperties * props )

MQTT outgoing subscribe processing for a client.

Parameters
clientthe client structure
topicslist of topics
qosscorresponding list of QoSs
optsMQTT 5.0 subscribe options
propsMQTT 5.0 subscribe properties
Returns
completion code
Here is the call graph for this function:

◆ MQTTProtocol_unsubscribe()

int MQTTProtocol_unsubscribe ( Clients * client,
List * topics,
int msgID,
MQTTProperties * props )

MQTT outgoing unsubscribe processing for a client.

Parameters
clientthe client structure
topicslist of topics
Returns
completion code
Here is the call graph for this function: