SNode.C
Loading...
Searching...
No Matches
iot::mqtt::server::packets::Unsubscribe Class Reference

#include <Unsubscribe.h>

Inheritance diagram for iot::mqtt::server::packets::Unsubscribe:
Collaboration diagram for iot::mqtt::server::packets::Unsubscribe:

Public Member Functions

 Unsubscribe (uint32_t remainingLength, uint8_t flags)
 
- Public Member Functions inherited from iot::mqtt::packets::Unsubscribe
 Unsubscribe ()
 
 Unsubscribe (uint16_t packetIdentifier, const std::list< std::string > &topics)
 
uint16_t getPacketIdentifier () const
 
const std::list< std::string > & getTopics () 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
 
uint8_t getType () const
 
uint8_t getFlags () const
 
- Public Member Functions inherited from iot::mqtt::server::ControlPacketDeserializer
 ~ControlPacketDeserializer () override
 
- 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::server::Mqtt *mqtt) override
 

Private Attributes

iot::mqtt::types::String topic
 
int state = 0
 

Additional Inherited Members

- Protected Attributes inherited from iot::mqtt::packets::Unsubscribe
iot::mqtt::types::UInt16 packetIdentifier
 
std::list< std::string > topics
 
- 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 56 of file Unsubscribe.h.

Constructor & Destructor Documentation

◆ Unsubscribe()

iot::mqtt::server::packets::Unsubscribe::Unsubscribe ( uint32_t  remainingLength,
uint8_t  flags 
)

Definition at line 55 of file Unsubscribe.cpp.

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

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

Here is the caller graph for this function:

Member Function Documentation

◆ deliverPacket()

void iot::mqtt::server::packets::Unsubscribe::deliverPacket ( iot::mqtt::server::Mqtt mqtt)
overrideprivatevirtual

Implements iot::mqtt::server::ControlPacketDeserializer.

Definition at line 90 of file Unsubscribe.cpp.

90 {
91 mqtt->printVP(*this);
92 mqtt->_onUnsubscribe(*this);
93 }
void printVP(const iot::mqtt::ControlPacket &packet) const
Definition Mqtt.cpp:368
void _onUnsubscribe(const iot::mqtt::server::packets::Unsubscribe &unsubscribe)
Definition Mqtt.cpp:320

References iot::mqtt::server::Mqtt::_onUnsubscribe(), and iot::mqtt::Mqtt::printVP().

Here is the call graph for this function:

◆ deserializeVP()

std::size_t iot::mqtt::server::packets::Unsubscribe::deserializeVP ( iot::mqtt::MqttContext mqttContext)
overrideprivatevirtual

Implements iot::mqtt::ControlPacketDeserializer.

Definition at line 60 of file Unsubscribe.cpp.

60 {
61 std::size_t consumed = 0;
62
63 switch (state) {
64 case 0: // V-Header
67 break;
68 }
69
70 state++;
71 [[fallthrough]];
72 case 1: // Payload
73 consumed += topic.deserialize(mqttContext);
74
75 if (!topic.isComplete()) {
76 break;
77 }
78
79 topics.push_back(topic);
80 topic.reset();
81
83
84 break;
85 }
86
87 return consumed;
88 }
std::list< std::string > topics
Definition Unsubscribe.h:74
iot::mqtt::types::UInt16 packetIdentifier
Definition Unsubscribe.h:72
std::size_t deserialize(iot::mqtt::MqttContext *mqttContext) override
Definition String.cpp:67
void reset(std::size_t size=0) override
Definition String.cpp:123
virtual std::size_t deserialize(iot::mqtt::MqttContext *mqttContext)
Definition TypeBase.hpp:59

References iot::mqtt::ControlPacketDeserializer::complete, iot::mqtt::types::TypeBase< ValueTypeT >::deserialize(), iot::mqtt::types::String::deserialize(), iot::mqtt::ControlPacketDeserializer::getConsumed(), iot::mqtt::ControlPacketDeserializer::getRemainingLength(), iot::mqtt::types::TypeBase< ValueTypeT >::isComplete(), iot::mqtt::packets::Unsubscribe::packetIdentifier, iot::mqtt::types::String::reset(), state, topic, and iot::mqtt::packets::Unsubscribe::topics.

Here is the call graph for this function:

Member Data Documentation

◆ state

int iot::mqtt::server::packets::Unsubscribe::state = 0
private

Definition at line 68 of file Unsubscribe.h.

Referenced by deserializeVP().

◆ topic

iot::mqtt::types::String iot::mqtt::server::packets::Unsubscribe::topic
private

Definition at line 66 of file Unsubscribe.h.

Referenced by deserializeVP().


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