SNode.C
Loading...
Searching...
No Matches
iot::mqtt::client::packets::Connack Class Reference

#include <Connack.h>

Inheritance diagram for iot::mqtt::client::packets::Connack:
Collaboration diagram for iot::mqtt::client::packets::Connack:

Public Member Functions

 Connack (uint32_t remainingLength, uint8_t flags)
Public Member Functions inherited from iot::mqtt::packets::Connack
 Connack ()
 Connack (uint8_t returncode, uint8_t acknowledgeFlags)
uint8_t getAcknowledgeFlags () const
uint8_t getReturnCode () const
bool getSessionPresent () const
Public Member Functions inherited from iot::mqtt::ControlPacket
 ControlPacket (uint8_t type, const std::string &name)
 ControlPacket (const ControlPacket &)=default
 ControlPacket (ControlPacket &&)=default
virtual ~ControlPacket ()
ControlPacketoperator= (const ControlPacket &)=default
ControlPacketoperator= (ControlPacket &&)=default
std::vector< char > serialize () const
const std::string & getName () const
Public Member Functions inherited from iot::mqtt::client::ControlPacketDeserializer
 ~ControlPacketDeserializer () override
 ControlPacketDeserializer ()=default
 ControlPacketDeserializer (uint32_t remainingLength, uint8_t flags, uint8_t mustFlags)
Public Member Functions inherited from iot::mqtt::ControlPacketDeserializer
 ControlPacketDeserializer ()=default
 ControlPacketDeserializer (uint32_t remainingLength, uint8_t flags, uint8_t mustFlags)
ControlPacketDeserializeroperator= (const ControlPacketDeserializer &)=default
std::size_t deserialize (iot::mqtt::MqttContext *mqttContext)
uint32_t getRemainingLength () const
bool isComplete () const
bool isError () const
std::size_t getConsumed () const

Private Member Functions

std::size_t deserializeVP (iot::mqtt::MqttContext *mqttContext) override
void deliverPacket (iot::mqtt::client::Mqtt *mqtt) override

Private Attributes

int state = 0

Additional Inherited Members

Protected Member Functions inherited from iot::mqtt::ControlPacket
uint8_t getType () const
uint8_t getFlags () const
Protected Attributes inherited from iot::mqtt::packets::Connack
iot::mqtt::types::UInt8 acknowledgeFlags
iot::mqtt::types::UInt8 returnCode
bool sessionPresent = false
Protected Attributes inherited from iot::mqtt::ControlPacket
uint8_t flags = 0
Protected Attributes inherited from iot::mqtt::ControlPacketDeserializer
bool complete = false
bool error = false
uint32_t remainingLength = 0
std::size_t consumed = 0

Detailed Description

Definition at line 57 of file Connack.h.

Constructor & Destructor Documentation

◆ Connack()

iot::mqtt::client::packets::Connack::Connack ( uint32_t remainingLength,
uint8_t flags )

Definition at line 52 of file Connack.cpp.

53 : iot::mqtt::client::ControlPacketDeserializer(remainingLength, flags, MQTT_CONNACK_FLAGS) {
54 this->flags = flags;
55 }
#define MQTT_CONNACK_FLAGS

References iot::mqtt::ControlPacket::flags.

Referenced by iot::mqtt::client::Mqtt::createControlPacketDeserializer().

Here is the caller graph for this function:

Member Function Documentation

◆ deliverPacket()

void iot::mqtt::client::packets::Connack::deliverPacket ( iot::mqtt::client::Mqtt * mqtt)
overrideprivatevirtual

Implements iot::mqtt::client::ControlPacketDeserializer.

Definition at line 87 of file Connack.cpp.

87 {
88 mqtt->printVP(*this);
89 mqtt->_onConnack(*this);
90 }
void printVP(const iot::mqtt::ControlPacket &packet) const
Definition Mqtt.cpp:368
void _onConnack(const iot::mqtt::client::packets::Connack &connack)
Definition Mqtt.cpp:194

References iot::mqtt::client::Mqtt::_onConnack(), and iot::mqtt::Mqtt::printVP().

Here is the call graph for this function:

◆ deserializeVP()

std::size_t iot::mqtt::client::packets::Connack::deserializeVP ( iot::mqtt::MqttContext * mqttContext)
overrideprivatevirtual

Implements iot::mqtt::ControlPacketDeserializer.

Definition at line 57 of file Connack.cpp.

57 {
58 std::size_t consumed = 0;
59
60 switch (state) {
61 case 0: // V-Header
62 consumed += acknowledgeFlags.deserialize(mqttContext);
63 if (!acknowledgeFlags.isComplete()) {
64 break;
65 }
66
67 sessionPresent = (acknowledgeFlags & 0x01) != 0;
68
69 state++;
70 [[fallthrough]];
71 case 1:
72 consumed += returnCode.deserialize(mqttContext);
73
74 if (!returnCode.isComplete()) {
75 break;
76 }
77
78 complete = true;
79 break;
80
81 // no Payload
82 }
83
84 return consumed;
85 }
iot::mqtt::types::UInt8 acknowledgeFlags
Definition Connack.h:81
iot::mqtt::types::UInt8 returnCode
Definition Connack.h:82

References iot::mqtt::packets::Connack::acknowledgeFlags, iot::mqtt::ControlPacketDeserializer::complete, iot::mqtt::types::TypeBase< ValueTypeT >::deserialize(), iot::mqtt::types::TypeBase< ValueTypeT >::isComplete(), iot::mqtt::packets::Connack::returnCode, iot::mqtt::packets::Connack::sessionPresent, and state.

Here is the call graph for this function:

Member Data Documentation

◆ state

int iot::mqtt::client::packets::Connack::state = 0
private

Definition at line 67 of file Connack.h.

Referenced by deserializeVP().


The documentation for this class was generated from the following files: