29#ifndef CORE_MQTT_STATE_H 
   30#define CORE_MQTT_STATE_H 
   45#define MQTT_STATE_CURSOR_INITIALIZER    ( ( size_t ) 0 ) 
   59typedef enum MQTTStateOperation
 
   63} MQTTStateOperation_t;
 
  124                                      MQTTStateOperation_t opType,
 
  163                                           MQTTStateOperation_t opType,
 
  190                                  MQTTStateOperation_t opType,
 
User-facing functions of the MQTT 3.1.1 library.
 
MQTTStatus_t MQTT_UpdateStateAck(const MQTTContext_t *pMqttContext, uint16_t packetId, MQTTPubAckType_t packetType, MQTTStateOperation_t opType, MQTTPublishState_t *pNewState)
Update the state record for an ACKed publish.
Definition: core_mqtt_state.c:1005
 
MQTTPublishState_t MQTT_CalculateStateAck(MQTTPubAckType_t packetType, MQTTStateOperation_t opType, MQTTQoS_t qos)
Calculate the state from a PUBACK, PUBREC, PUBREL, or PUBCOMP.
Definition: core_mqtt_state.c:657
 
MQTTStatus_t MQTT_ReserveState(const MQTTContext_t *pMqttContext, uint16_t packetId, MQTTQoS_t qos)
Reserve an entry for an outgoing QoS 1 or Qos 2 publish.
Definition: core_mqtt_state.c:825
 
const char * MQTT_State_strerror(MQTTPublishState_t state)
State to string conversion for state engine.
Definition: core_mqtt_state.c:1153
 
MQTTPublishState_t MQTT_CalculateStatePublish(MQTTStateOperation_t opType, MQTTQoS_t qos)
Calculate the new state for a publish from its qos and operation type.
Definition: core_mqtt_state.c:854
 
MQTTStatus_t MQTT_UpdateStatePublish(const MQTTContext_t *pMqttContext, uint16_t packetId, MQTTStateOperation_t opType, MQTTQoS_t qos, MQTTPublishState_t *pNewState)
Update the state record for a PUBLISH packet.
Definition: core_mqtt_state.c:883
 
uint16_t MQTT_PubrelToResend(const MQTTContext_t *pMqttContext, MQTTStateCursor_t *pCursor, MQTTPublishState_t *pState)
Get the packet ID of next pending PUBREL ack to be resent.
Definition: core_mqtt_state.c:1087
 
MQTTStatus_t MQTT_RemoveStateRecord(const MQTTContext_t *pMqttContext, uint16_t packetId)
Remove the state record for a PUBLISH packet.
Definition: core_mqtt_state.c:957
 
uint16_t MQTT_PublishToResend(const MQTTContext_t *pMqttContext, MQTTStateCursor_t *pCursor)
Get the packet ID of next pending publish to be resent.
Definition: core_mqtt_state.c:1123
 
size_t MQTTStateCursor_t
Cursor for iterating through state records.
Definition: core_mqtt_state.h:51
 
MQTTPublishState_t
The state of QoS 1 or QoS 2 MQTT publishes, used in the state engine.
Definition: core_mqtt.h:119
 
MQTTPubAckType_t
Packet types used in acknowledging QoS 1 or QoS 2 publishes.
Definition: core_mqtt.h:138
 
MQTTStatus_t
Return codes from MQTT functions.
Definition: core_mqtt_serializer.h:87
 
MQTTQoS_t
MQTT Quality of Service values.
Definition: core_mqtt_serializer.h:109
 
A struct representing an MQTT connection.
Definition: core_mqtt.h:173