SNode.C
Loading...
Searching...
No Matches
iot::mqtt::ControlPacketDeserializer Class Referenceabstract

#include <ControlPacketDeserializer.h>

Inheritance diagram for iot::mqtt::ControlPacketDeserializer:
Collaboration diagram for iot::mqtt::ControlPacketDeserializer:

Public Member Functions

 ControlPacketDeserializer ()=default
 
 ControlPacketDeserializer (uint32_t remainingLength, uint8_t flags, uint8_t mustFlags)
 
ControlPacketDeserializeroperator= (const ControlPacketDeserializer &)=default
 
virtual ~ControlPacketDeserializer ()
 
std::size_t deserialize (iot::mqtt::MqttContext *mqttContext)
 
uint32_t getRemainingLength () const
 
bool isComplete () const
 
bool isError () const
 
std::size_t getConsumed () const
 

Protected Attributes

bool complete = false
 
bool error = false
 
uint32_t remainingLength = 0
 
std::size_t consumed = 0
 

Private Member Functions

virtual std::size_t deserializeVP (iot::mqtt::MqttContext *mqttContext)=0
 

Detailed Description

Definition at line 36 of file ControlPacketDeserializer.h.

Constructor & Destructor Documentation

◆ ControlPacketDeserializer() [1/2]

iot::mqtt::ControlPacketDeserializer::ControlPacketDeserializer ( )
default

◆ ControlPacketDeserializer() [2/2]

iot::mqtt::ControlPacketDeserializer::ControlPacketDeserializer ( uint32_t remainingLength,
uint8_t flags,
uint8_t mustFlags )

◆ ~ControlPacketDeserializer()

iot::mqtt::ControlPacketDeserializer::~ControlPacketDeserializer ( )
virtual

Member Function Documentation

◆ deserialize()

std::size_t iot::mqtt::ControlPacketDeserializer::deserialize ( iot::mqtt::MqttContext * mqttContext)

Definition at line 36 of file ControlPacketDeserializer.cpp.

36 {
37 const std::size_t currentConsumed = deserializeVP(mqttContext);
38 consumed += currentConsumed;
39
40 error = (complete && consumed != this->getRemainingLength()) || (!complete && consumed >= this->getRemainingLength());
41
42 return currentConsumed;
43 }
virtual std::size_t deserializeVP(iot::mqtt::MqttContext *mqttContext)=0

References complete, consumed, deserializeVP(), error, and getRemainingLength().

Here is the call graph for this function:

◆ deserializeVP()

◆ getConsumed()

std::size_t iot::mqtt::ControlPacketDeserializer::getConsumed ( ) const

Definition at line 57 of file ControlPacketDeserializer.cpp.

57 {
58 return consumed;
59 }

References consumed.

◆ getRemainingLength()

uint32_t iot::mqtt::ControlPacketDeserializer::getRemainingLength ( ) const

Definition at line 45 of file ControlPacketDeserializer.cpp.

45 {
46 return remainingLength;
47 }

References remainingLength.

Referenced by deserialize().

Here is the caller graph for this function:

◆ isComplete()

bool iot::mqtt::ControlPacketDeserializer::isComplete ( ) const

Definition at line 49 of file ControlPacketDeserializer.cpp.

49 {
50 return complete;
51 }

References complete.

◆ isError()

bool iot::mqtt::ControlPacketDeserializer::isError ( ) const

Definition at line 53 of file ControlPacketDeserializer.cpp.

53 {
54 return error;
55 }

References error.

◆ operator=()

ControlPacketDeserializer & iot::mqtt::ControlPacketDeserializer::operator= ( const ControlPacketDeserializer & )
default

Member Data Documentation

◆ complete

bool iot::mqtt::ControlPacketDeserializer::complete = false
protected

Definition at line 60 of file ControlPacketDeserializer.h.

Referenced by deserialize(), and isComplete().

◆ consumed

std::size_t iot::mqtt::ControlPacketDeserializer::consumed = 0
protected

Definition at line 65 of file ControlPacketDeserializer.h.

Referenced by deserialize(), and getConsumed().

◆ error

bool iot::mqtt::ControlPacketDeserializer::error = false
protected

Definition at line 61 of file ControlPacketDeserializer.h.

Referenced by ControlPacketDeserializer(), deserialize(), and isError().

◆ remainingLength

uint32_t iot::mqtt::ControlPacketDeserializer::remainingLength = 0
protected

Definition at line 63 of file ControlPacketDeserializer.h.

Referenced by ControlPacketDeserializer(), and getRemainingLength().


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