27#ifndef CORE_MQTT_STATE_H
28#define CORE_MQTT_STATE_H
37#define MQTT_STATE_CURSOR_INITIALIZER ( ( size_t ) 0 )
51typedef enum MQTTStateOperation
55} MQTTStateOperation_t;
116 MQTTStateOperation_t opType,
137 MQTTStateOperation_t opType,
164 MQTTStateOperation_t opType,
User-facing functions of the MQTT 3.1.1 library.
MQTTStatus_t MQTT_UpdateStatePublish(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:842
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:620
const char * MQTT_State_strerror(MQTTPublishState_t state)
State to string conversion for state engine.
Definition: core_mqtt_state.c:1055
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:813
MQTTStatus_t MQTT_ReserveState(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:784
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:989
MQTTStatus_t MQTT_UpdateStateAck(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:916
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:1025
size_t MQTTStateCursor_t
Cursor for iterating through state records.
Definition: core_mqtt_state.h:43
MQTTPublishState_t
The state of QoS 1 or QoS 2 MQTT publishes, used in the state engine.
Definition: core_mqtt.h:109
MQTTPubAckType_t
Packet types used in acknowledging QoS 1 or QoS 2 publishes.
Definition: core_mqtt.h:128
MQTTStatus_t
Return codes from MQTT functions.
Definition: core_mqtt_serializer.h:91
MQTTQoS_t
MQTT Quality of Service values.
Definition: core_mqtt_serializer.h:110
A struct representing an MQTT connection.
Definition: core_mqtt.h:163