Microchip® Advanced Software Framework

AWS_SDK/AWS_SDK/aws_mqtt_embedded_client_lib/MQTTPacket/src/MQTTSubscribeClient.c File Reference
#include "MQTTPacket.h"
#include "StackTrace.h"
#include <string.h>

Functions

MQTTReturnCode MQTTDeserialize_suback (uint16_t *packetid, uint32_t maxcount, uint32_t *count, QoS grantedQoSs[], unsigned char *buf, size_t buflen)
 Deserializes the supplied (wire) buffer into suback data. More...
 
size_t MQTTSerialize_GetSubscribePacketLength (uint32_t count, MQTTString topicFilters[])
 Determines the length of the MQTT subscribe packet that would be produced using the supplied parameters. More...
 
MQTTReturnCode MQTTSerialize_subscribe (unsigned char *buf, size_t buflen, unsigned char dup, uint16_t packetid, uint32_t count, MQTTString topicFilters[], QoS requestedQoSs[], uint32_t *serialized_len)
 Serializes the supplied subscribe data into the supplied buffer, ready for sending. More...
 

MQTTReturnCode MQTTDeserialize_suback ( uint16_t *  packetid,
uint32_t  maxcount,
uint32_t *  count,
QoS  grantedQoSs[],
unsigned char *  buf,
size_t  buflen 
)

Deserializes the supplied (wire) buffer into suback data.

Parameters
packetidreturned integer - the MQTT packet identifier
maxcount- the maximum number of members allowed in the grantedQoSs array
countreturned integer - number of members in the grantedQoSs array
grantedQoSsreturned array of integers - the granted qualities of service
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, 0 is failure

References MQTTHeader::bits, buf, MQTTHeader::byte, FAILURE, FUNC_ENTRY, FUNC_EXIT_RC, header, MQTT_NULL_VALUE_ERROR, MQTTPACKET_BUFFER_TOO_SHORT, MQTTPacket_decodeBuf(), NULL, readChar(), readPacketId(), SUBACK, SUCCESS, and MQTTHeader::type.

size_t MQTTSerialize_GetSubscribePacketLength ( uint32_t  count,
MQTTString  topicFilters[] 
)

Determines the length of the MQTT subscribe packet that would be produced using the supplied parameters.

Parameters
countthe number of topic filter strings in topicFilters
topicFiltersthe array of topic filter strings to be used in the publish
Returns
the length of buffer needed to contain the serialized version of the packet

References count, i, len, and MQTTstrlen().

Referenced by MQTTSerialize_subscribe().

MQTTReturnCode MQTTSerialize_subscribe ( unsigned char *  buf,
size_t  buflen,
unsigned char  dup,
uint16_t  packetid,
uint32_t  count,
MQTTString  topicFilters[],
QoS  requestedQoSs[],
uint32_t *  serialized_len 
)

Serializes the supplied subscribe 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 bufferr
dupinteger - the MQTT dup flag
packetidinteger - the MQTT packet identifier
count- number of members in the topicFilters and reqQos arrays
topicFilters- array of topic filter names
requestedQoSs- array of requested QoS
Returns
the length of the serialized data. <= 0 indicates error

References buf, MQTTHeader::byte, count, FUNC_ENTRY, FUNC_EXIT_RC, header, i, MQTT_NULL_VALUE_ERROR, MQTTPACKET_BUFFER_TOO_SHORT, MQTTPacket_encode(), MQTTPacket_InitHeader(), MQTTPacket_len(), MQTTSerialize_GetSubscribePacketLength(), NULL, ptr, SUBSCRIBE, SUCCESS, writeChar(), writeMQTTString(), and writePacketId().