AWS IoT Device SDK C: MQTT
MQTT 3.1.1 client library
Return to main page ↑
_mqttOperation_t Struct Reference

Internal structure representing a single MQTT operation, such as CONNECT, SUBSCRIBE, PUBLISH, etc. More...

#include <iot_mqtt_internal.h>

Data Fields

IotLink_t link
 List link member.
 
bool incomingPublish
 Set to true if this operation is an incoming PUBLISH.
 
struct _mqttConnectionpMqttConnection
 MQTT connection associated with this operation.
 
IotTaskPoolJobStorage_t jobStorage
 Task pool job storage associated with this operation.
 
IotTaskPoolJob_t job
 Task pool job associated with this operation.
 
union {
   struct {
      int32_t   jobReference
 Tracks if a job is using this operation. Must always be 0, 1, or 2.
 
      IotMqttOperationType_t   type
 What operation this structure represents.
 
      uint32_t   flags
 Flags passed to the function that created this operation.
 
      uint16_t   packetIdentifier
 The packet identifier used with this operation.
 
      uint8_t *   pMqttPacket
 The MQTT packet to send over the network.
 
      uint8_t *   pPacketIdentifierHigh
 The location of the high byte of the packet identifier in the MQTT packet.
 
      size_t   packetSize
 Size of pMqttPacket.
 
      union {
         IotSemaphore_t   waitSemaphore
 Semaphore to be used with IotMqtt_Wait.
 
         IotMqttCallbackInfo_t   callback
 User-provided callback function and parameter.
 
      }   notify
 How to notify of this operation's completion.
 
      IotMqttError_t   status
 Result of this operation. This is reported once a response is received.
 
      union {
         struct {
            uint32_t   count
 Current number of retries.
 
            uint32_t   limit
 Maximum number of retries allowed.
 
            uint32_t   nextPeriodMs
 Next retry period.
 
         }   retry
 Additional information for PUBLISH retry.
 
         struct {
            uint32_t   failure
 Flag tracking keep-alive status.
 
            uint32_t   keepAliveMs
 Keep-alive interval in milliseconds. Its max value (per spec) is 65,535,000.
 
            uint32_t   nextPeriodMs
 Relative delay for next keep-alive job.
 
         }   ping
 Additional information for keep-alive pings.
 
      }   periodic
 Additional information for periodic operations.
 
   }   operation
 
   struct {
      IotMqttPublishInfo_t   publishInfo
 Deserialized PUBLISH.
 
      void *   pReceivedData
 Any buffer associated with this PUBLISH that should be freed.
 
   }   publish
 
u
 Valid member depends on _mqttOperation_t.incomingPublish.
 

Detailed Description

Internal structure representing a single MQTT operation, such as CONNECT, SUBSCRIBE, PUBLISH, etc.

Queues of these structures keeps track of all in-progress MQTT operations.

Field Documentation

◆ nextPeriodMs

uint32_t _mqttOperation_t::nextPeriodMs

Next retry period.

Relative delay for next keep-alive job.


The documentation for this struct was generated from the following file: