Microchip® Advanced Software Framework

pahomqtt/MQTTPacket/MQTTPublish.h File Reference

Macros

#define DLLExport
 
#define DLLImport
 

Functions

DLLExport int MQTTDeserialize_publish (unsigned char *dup, int *qos, unsigned char *retained, unsigned short *packetid, MQTTString *topicName, unsigned char **payload, int *payloadlen, unsigned char *buf, int len)
 Deserializes the supplied (wire) buffer into publish data. More...
 
DLLExport int MQTTSerialize_puback (unsigned char *buf, int buflen, unsigned short packetid)
 Serializes a puback packet into the supplied buffer. More...
 
DLLExport int MQTTSerialize_pubcomp (unsigned char *buf, int buflen, unsigned short packetid)
 Serializes a pubrel packet into the supplied buffer. More...
 
DLLExport int MQTTSerialize_publish (unsigned char *buf, int buflen, unsigned char dup, int qos, unsigned char retained, unsigned short packetid, MQTTString topicName, unsigned char *payload, int payloadlen)
 Serializes the supplied publish data into the supplied buffer, ready for sending. More...
 
DLLExport int MQTTSerialize_pubrel (unsigned char *buf, int buflen, unsigned char dup, unsigned short packetid)
 Serializes a pubrel packet into the supplied buffer. More...
 

#define DLLExport
#define DLLImport

DLLExport int MQTTDeserialize_publish ( unsigned char *  dup,
int *  qos,
unsigned char *  retained,
unsigned short *  packetid,
MQTTString topicName,
unsigned char **  payload,
int *  payloadlen,
unsigned char *  buf,
int  buflen 
)

Deserializes the supplied (wire) buffer into publish data.

Parameters
dupreturned integer - the MQTT dup flag
qosreturned integer - the MQTT QoS value
retainedreturned integer - the MQTT retained flag
packetidreturned integer - the MQTT packet identifier
topicNamereturned MQTTString - the MQTT topic in the publish
payloadreturned byte buffer - the MQTT publish payload
payloadlenreturned integer - the length of the MQTT payload
bufthe raw buffer data, of the correct length determined by the remaining length field
buflenthe length in bytes of the data in the supplied buffer
Returns
error code. 1 is success

References MQTTHeader::bits, buf, MQTTHeader::byte, MQTTHeader::dup, FUNC_ENTRY, FUNC_EXIT_RC, header, MQTTPacket_decodeBuf(), NULL, PUBLISH, MQTTHeader::qos, readChar(), readInt(), readMQTTLenString(), MQTTHeader::retain, and MQTTHeader::type.

Referenced by cycle(), handlePublish(), MQTTFormat_toClientString(), and MQTTFormat_toServerString().

DLLExport int MQTTSerialize_puback ( unsigned char *  buf,
int  buflen,
unsigned short  packetid 
)

Serializes a puback packet into the supplied buffer.

Parameters
bufthe buffer into which the packet will be serialized
buflenthe length in bytes of the supplied buffer
packetidinteger - the MQTT packet identifier
Returns
serialized length, or error if 0

References MQTTSerialize_ack(), and PUBACK.

DLLExport int MQTTSerialize_pubcomp ( unsigned char *  buf,
int  buflen,
unsigned short  packetid 
)

Serializes a pubrel packet into the supplied buffer.

Parameters
bufthe buffer into which the packet will be serialized
buflenthe length in bytes of the supplied buffer
packetidinteger - the MQTT packet identifier
Returns
serialized length, or error if 0

References MQTTSerialize_ack(), and PUBCOMP.

DLLExport int MQTTSerialize_publish ( unsigned char *  buf,
int  buflen,
unsigned char  dup,
int  qos,
unsigned char  retained,
unsigned short  packetid,
MQTTString  topicName,
unsigned char *  payload,
int  payloadlen 
)

Serializes the supplied publish data into the supplied buffer, ready for sending.

Parameters
bufthe buffer into which the packet will be serialized
buflenthe length in bytes of the supplied buffer
dupinteger - the MQTT dup flag
qosinteger - the MQTT QoS value
retainedinteger - the MQTT retained flag
packetidinteger - the MQTT packet identifier
topicNameMQTTString - the MQTT topic in the publish
payloadbyte buffer - the MQTT publish payload
payloadleninteger - the length of the MQTT payload
Returns
the length of the serialized data. <= 0 indicates error

References MQTTHeader::bits, buf, MQTTHeader::byte, MQTTHeader::dup, FUNC_ENTRY, FUNC_EXIT_RC, header, MQTTPACKET_BUFFER_TOO_SHORT, MQTTPacket_encode(), MQTTPacket_len(), MQTTSerialize_publishLength(), ptr, PUBLISH, MQTTHeader::qos, MQTTHeader::retain, MQTTHeader::type, writeChar(), writeInt(), and writeMQTTString().

Referenced by MQTTPublish().

DLLExport int MQTTSerialize_pubrel ( unsigned char *  buf,
int  buflen,
unsigned char  dup,
unsigned short  packetid 
)

Serializes a pubrel packet into the supplied buffer.

Parameters
bufthe buffer into which the packet will be serialized
buflenthe length in bytes of the supplied buffer
dupinteger - the MQTT dup flag
packetidinteger - the MQTT packet identifier
Returns
serialized length, or error if 0

References MQTTSerialize_ack(), and PUBREL.