Microchip® Advanced Software Framework

MQTTSubscribeServer.c File Reference
#include "MQTTPacket.h"
#include "StackTrace.h"
#include <string.h>

Functions

int MQTTDeserialize_subscribe (unsigned char *dup, unsigned short *packetid, int maxcount, int *count, MQTTString topicFilters[], int requestedQoSs[], unsigned char *buf, int buflen)
 Deserializes the supplied (wire) buffer into subscribe data. More...
 
int MQTTSerialize_suback (unsigned char *buf, int buflen, unsigned short packetid, int count, int *grantedQoSs)
 Serializes the supplied suback data into the supplied buffer, ready for sending. More...
 

int MQTTDeserialize_subscribe ( unsigned char *  dup,
unsigned short *  packetid,
int  maxcount,
int *  count,
MQTTString  topicFilters[],
int  requestedQoSs[],
unsigned char *  buf,
int  buflen 
)

Deserializes the supplied (wire) buffer into subscribe data.

Parameters
dupinteger returned - the MQTT dup flag
packetidinteger returned - the MQTT packet identifier
maxcount- the maximum number of members allowed in the topicFilters and requestedQoSs arrays
count- number of members in the topicFilters and requestedQoSs arrays
topicFilters- array of topic filter names
requestedQoSs- array of requested QoS
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
the length of the serialized data. <= 0 indicates error

References MQTTHeader::bits, MQTTHeader::byte, count, MQTTHeader::dup, FUNC_ENTRY, FUNC_EXIT_RC, header, MQTTPacket_decodeBuf(), NULL, readChar(), readInt(), readMQTTLenString(), SUBSCRIBE, and MQTTHeader::type.

Referenced by MQTTFormat_toServerString().

int MQTTSerialize_suback ( unsigned char *  buf,
int  buflen,
unsigned short  packetid,
int  count,
int *  grantedQoSs 
)

Serializes the supplied suback 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
packetidinteger - the MQTT packet identifier
count- number of members in the grantedQoSs array
grantedQoSs- array of granted QoS
Returns
the length of the serialized data. <= 0 indicates error

References MQTTHeader::bits, MQTTHeader::byte, count, FUNC_ENTRY, FUNC_EXIT_RC, header, i, MQTTPACKET_BUFFER_TOO_SHORT, MQTTPacket_encode(), ptr, SUBACK, MQTTHeader::type, writeChar(), and writeInt().