SNode.C
Loading...
Searching...
No Matches
iot::mqtt_fast::SocketContext Class Referenceabstract

#include <SocketContext.h>

Inheritance diagram for iot::mqtt_fast::SocketContext:
Collaboration diagram for iot::mqtt_fast::SocketContext:

Public Member Functions

 SocketContext (core::socket::stream::SocketConnection *socketConnection)
void sendConnect (const std::string &clientId)
void sendConnack (uint8_t returnCode, uint8_t flags)
void sendPublish (const std::string &topic, const std::string &message, bool dup=false, uint8_t qoS=0, bool retain=false)
void sendPuback (uint16_t packetIdentifier)
void sendPubrec (uint16_t packetIdentifier)
void sendPubrel (uint16_t packetIdentifier)
void sendPubcomp (uint16_t packetIdentifier)
void sendSubscribe (std::list< Topic > &topics)
void sendSuback (uint16_t packetIdentifier, const std::list< uint8_t > &returnCodes)
void sendUnsubscribe (const std::list< std::string > &topics)
void sendUnsuback (uint16_t packetIdentifier)
void sendPingreq ()
void sendPingresp ()
void sendDisconnect ()
Public Member Functions inherited from core::socket::stream::SocketContext
 SocketContext (core::socket::stream::SocketConnection *socketConnection)
void sendToPeer (const char *chunk, std::size_t chunkLen) const final
bool streamToPeer (core::pipe::Source *source) const
void streamEof ()
std::size_t readFromPeer (char *chunk, std::size_t chunklen) const final
void setTimeout (const utils::Timeval &timeout) final
void shutdownRead ()
void shutdownWrite (bool forceClose=false)
void close () override
std::size_t getTotalSent () const override
std::size_t getTotalQueued () const override
std::size_t getTotalRead () const override
std::size_t getTotalProcessed () const override
std::string getOnlineSince () const override
std::string getOnlineDuration () const override
SocketConnectiongetSocketConnection () const
void sendToPeer (const std::string &data) const
Public Member Functions inherited from core::socket::SocketContext
 SocketContext (const SocketContext &)=delete
 SocketContext (SocketContext &&)=delete
SocketContextoperator= (const SocketContext &)=delete
SocketContextoperator= (SocketContext &&)=delete
void sendToPeer (const std::string &data) const

Private Member Functions

virtual void onConnect (const iot::mqtt_fast::packets::Connect &connect)=0
virtual void onConnack (const iot::mqtt_fast::packets::Connack &connack)=0
virtual void onPublish (const iot::mqtt_fast::packets::Publish &publish)=0
virtual void onPuback (const iot::mqtt_fast::packets::Puback &puback)=0
virtual void onPubrec (const iot::mqtt_fast::packets::Pubrec &pubrec)=0
virtual void onPubrel (const iot::mqtt_fast::packets::Pubrel &pubrel)=0
virtual void onPubcomp (const iot::mqtt_fast::packets::Pubcomp &pubcomp)=0
virtual void onSubscribe (const iot::mqtt_fast::packets::Subscribe &subscribe)=0
virtual void onSuback (const iot::mqtt_fast::packets::Suback &suback)=0
virtual void onUnsubscribe (const iot::mqtt_fast::packets::Unsubscribe &unsubscribe)=0
virtual void onUnsuback (const iot::mqtt_fast::packets::Unsuback &unsuback)=0
virtual void onPingreq (const iot::mqtt_fast::packets::Pingreq &pingreq)=0
virtual void onPingresp (const iot::mqtt_fast::packets::Pingresp &pingresp)=0
virtual void onDisconnect (const iot::mqtt_fast::packets::Disconnect &disconnect)=0
std::size_t onReceivedFromPeer () final
void send (iot::mqtt_fast::ControlPacket &&controlPacket) const
void send (iot::mqtt_fast::ControlPacket &controlPacket) const
void send (std::vector< char > &&data) const
uint16_t getPacketIdentifier ()

Static Private Member Functions

static void printData (const std::vector< char > &data)

Private Attributes

iot::mqtt_fast::ControlPacketFactory controlPacketFactory
uint16_t _packetIdentifier = 0

Additional Inherited Members

Protected Member Functions inherited from core::socket::stream::SocketContext
void onWriteError (int errnum) override
void onReadError (int errnum) override
std::size_t readFromPeer ()
Protected Member Functions inherited from core::socket::SocketContext
 SocketContext ()=default
virtual ~SocketContext ()
virtual bool onSignal (int sig)=0

Detailed Description

Definition at line 85 of file SocketContext.h.

Constructor & Destructor Documentation

◆ SocketContext()

iot::mqtt_fast::SocketContext::SocketContext ( core::socket::stream::SocketConnection * socketConnection)
explicit

Definition at line 60 of file SocketContext.cpp.

61 : core::socket::stream::SocketContext(socketConnection)
62 , controlPacketFactory(this) {
63 }
core::socket::stream::SocketConnection * socketConnection
iot::mqtt_fast::ControlPacketFactory controlPacketFactory

References iot::mqtt_fast::ControlPacketFactory::ControlPacketFactory(), controlPacketFactory, and core::socket::stream::SocketContext::SocketContext().

Here is the call graph for this function:

Member Function Documentation

◆ getPacketIdentifier()

uint16_t iot::mqtt_fast::SocketContext::getPacketIdentifier ( )
inlineprivate

Definition at line 127 of file SocketContext.h.

127 {
129
130 if (_packetIdentifier == 0) {
132 }
133
134 return _packetIdentifier;
135 }

References _packetIdentifier.

Referenced by sendPublish(), sendSubscribe(), and sendUnsubscribe().

Here is the caller graph for this function:

◆ onConnack()

virtual void iot::mqtt_fast::SocketContext::onConnack ( const iot::mqtt_fast::packets::Connack & connack)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onConnect()

virtual void iot::mqtt_fast::SocketContext::onConnect ( const iot::mqtt_fast::packets::Connect & connect)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onDisconnect()

virtual void iot::mqtt_fast::SocketContext::onDisconnect ( const iot::mqtt_fast::packets::Disconnect & disconnect)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onPingreq()

virtual void iot::mqtt_fast::SocketContext::onPingreq ( const iot::mqtt_fast::packets::Pingreq & pingreq)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onPingresp()

virtual void iot::mqtt_fast::SocketContext::onPingresp ( const iot::mqtt_fast::packets::Pingresp & pingresp)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onPuback()

virtual void iot::mqtt_fast::SocketContext::onPuback ( const iot::mqtt_fast::packets::Puback & puback)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onPubcomp()

virtual void iot::mqtt_fast::SocketContext::onPubcomp ( const iot::mqtt_fast::packets::Pubcomp & pubcomp)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onPublish()

virtual void iot::mqtt_fast::SocketContext::onPublish ( const iot::mqtt_fast::packets::Publish & publish)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onPubrec()

virtual void iot::mqtt_fast::SocketContext::onPubrec ( const iot::mqtt_fast::packets::Pubrec & pubrec)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onPubrel()

virtual void iot::mqtt_fast::SocketContext::onPubrel ( const iot::mqtt_fast::packets::Pubrel & pubrel)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onReceivedFromPeer()

std::size_t iot::mqtt_fast::SocketContext::onReceivedFromPeer ( )
finalprivatevirtual

Implements core::socket::SocketContext.

Definition at line 163 of file SocketContext.cpp.

163 {
164 const std::size_t consumed = controlPacketFactory.construct();
165
166 if (controlPacketFactory.isError()) {
167 LOG(ERROR) << "MQTT (fast): SocketContext: Error during ControlPacket construction";
168 close();
169 } else if (controlPacketFactory.isComplete()) {
170 LOG(DEBUG) << "MQTT (fast): ======================================================";
171 LOG(DEBUG) << "MQTT (fast): PacketType: " << static_cast<uint16_t>(controlPacketFactory.getPacketType());
172 LOG(DEBUG) << "MQTT (fast): PacketFlags: " << static_cast<uint16_t>(controlPacketFactory.getPacketFlags());
173 LOG(DEBUG) << "MQTT (fast): RemainingLength: " << static_cast<uint16_t>(controlPacketFactory.getRemainingLength());
174
175 printData(controlPacketFactory.getPacket().getValue());
176
177 switch (controlPacketFactory.getPacketType()) {
178 case MQTT_CONNECT:
179 onConnect(iot::mqtt_fast::packets::Connect(controlPacketFactory));
180 break;
181 case MQTT_CONNACK:
182 onConnack(iot::mqtt_fast::packets::Connack(controlPacketFactory));
183 break;
184 case MQTT_PUBLISH:
185 onPublish(iot::mqtt_fast::packets::Publish(controlPacketFactory));
186 break;
187 case MQTT_PUBACK:
188 onPuback(iot::mqtt_fast::packets::Puback(controlPacketFactory));
189 break;
190 case MQTT_PUBREC:
191 onPubrec(iot::mqtt_fast::packets::Pubrec(controlPacketFactory));
192 break;
193 case MQTT_PUBREL:
194 onPubrel(iot::mqtt_fast::packets::Pubrel(controlPacketFactory));
195 break;
196 case MQTT_PUBCOMP:
197 onPubcomp(iot::mqtt_fast::packets::Pubcomp(controlPacketFactory));
198 break;
199 case MQTT_SUBSCRIBE:
200 onSubscribe(iot::mqtt_fast::packets::Subscribe(controlPacketFactory));
201 break;
202 case MQTT_SUBACK:
203 onSuback(iot::mqtt_fast::packets::Suback(controlPacketFactory));
204 break;
205 case MQTT_UNSUBSCRIBE:
206 onUnsubscribe(iot::mqtt_fast::packets::Unsubscribe(controlPacketFactory));
207 break;
208 case MQTT_UNSUBACK:
209 onUnsuback(iot::mqtt_fast::packets::Unsuback(controlPacketFactory));
210 break;
211 case MQTT_PINGREQ:
212 onPingreq(iot::mqtt_fast::packets::Pingreq(controlPacketFactory));
213 break;
214 case MQTT_PINGRESP:
215 onPingresp(iot::mqtt_fast::packets::Pingresp(controlPacketFactory));
216 break;
217 case MQTT_DISCONNECT:
218 onDisconnect(iot::mqtt_fast::packets::Disconnect(controlPacketFactory));
219 break;
220 default:
221 close();
222 break;
223 }
224
225 controlPacketFactory.reset();
226 }
227
228 return consumed;
229 }
virtual void onPubrel(const iot::mqtt_fast::packets::Pubrel &pubrel)=0
virtual void onSuback(const iot::mqtt_fast::packets::Suback &suback)=0
virtual void onPingresp(const iot::mqtt_fast::packets::Pingresp &pingresp)=0
virtual void onPubcomp(const iot::mqtt_fast::packets::Pubcomp &pubcomp)=0
virtual void onDisconnect(const iot::mqtt_fast::packets::Disconnect &disconnect)=0
virtual void onConnect(const iot::mqtt_fast::packets::Connect &connect)=0
virtual void onPuback(const iot::mqtt_fast::packets::Puback &puback)=0
virtual void onUnsuback(const iot::mqtt_fast::packets::Unsuback &unsuback)=0
virtual void onSubscribe(const iot::mqtt_fast::packets::Subscribe &subscribe)=0
virtual void onConnack(const iot::mqtt_fast::packets::Connack &connack)=0
static void printData(const std::vector< char > &data)
virtual void onUnsubscribe(const iot::mqtt_fast::packets::Unsubscribe &unsubscribe)=0
virtual void onPubrec(const iot::mqtt_fast::packets::Pubrec &pubrec)=0
virtual void onPublish(const iot::mqtt_fast::packets::Publish &publish)=0
virtual void onPingreq(const iot::mqtt_fast::packets::Pingreq &pingreq)=0
#define MQTT_CONNACK
Definition Connack.h:57
#define MQTT_CONNECT
Definition Connect.h:58
#define MQTT_DISCONNECT
Definition Disconnect.h:55
#define MQTT_PINGREQ
Definition Pingreq.h:55
#define MQTT_PINGRESP
Definition Pingresp.h:55
#define MQTT_PUBACK
Definition Puback.h:57
#define MQTT_PUBCOMP
Definition Pubcomp.h:57
#define MQTT_PUBLISH
Definition Publish.h:58
#define MQTT_PUBREC
Definition Pubrec.h:57
#define MQTT_PUBREL
Definition Pubrel.h:57
#define MQTT_SUBACK
Definition Suback.h:58
#define MQTT_SUBSCRIBE
Definition Subscribe.h:59
#define MQTT_UNSUBACK
Definition Unsuback.h:57
#define MQTT_UNSUBSCRIBE
Definition Unsubscribe.h:59

References core::socket::stream::SocketContext::close(), iot::mqtt_fast::packets::Connack::Connack(), iot::mqtt_fast::packets::Connect::Connect(), iot::mqtt_fast::ControlPacketFactory::construct(), controlPacketFactory, iot::mqtt_fast::packets::Disconnect::Disconnect(), iot::mqtt_fast::ControlPacketFactory::getPacket(), iot::mqtt_fast::ControlPacketFactory::getPacketFlags(), iot::mqtt_fast::ControlPacketFactory::getPacketType(), iot::mqtt_fast::ControlPacketFactory::getRemainingLength(), iot::mqtt_fast::types::Binary::getValue(), iot::mqtt_fast::ControlPacketFactory::isComplete(), iot::mqtt_fast::ControlPacketFactory::isError(), onConnack(), onConnect(), onDisconnect(), onPingreq(), onPingresp(), onPuback(), onPubcomp(), onPublish(), onPubrec(), onPubrel(), onSuback(), onSubscribe(), onUnsuback(), onUnsubscribe(), iot::mqtt_fast::packets::Pingreq::Pingreq(), iot::mqtt_fast::packets::Pingresp::Pingresp(), printData(), iot::mqtt_fast::packets::Puback::Puback(), iot::mqtt_fast::packets::Pubcomp::Pubcomp(), iot::mqtt_fast::packets::Publish::Publish(), iot::mqtt_fast::packets::Pubrec::Pubrec(), iot::mqtt_fast::packets::Pubrel::Pubrel(), iot::mqtt_fast::ControlPacketFactory::reset(), iot::mqtt_fast::packets::Suback::Suback(), iot::mqtt_fast::packets::Subscribe::Subscribe(), iot::mqtt_fast::packets::Unsuback::Unsuback(), and iot::mqtt_fast::packets::Unsubscribe::Unsubscribe().

Here is the call graph for this function:

◆ onSuback()

virtual void iot::mqtt_fast::SocketContext::onSuback ( const iot::mqtt_fast::packets::Suback & suback)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onSubscribe()

virtual void iot::mqtt_fast::SocketContext::onSubscribe ( const iot::mqtt_fast::packets::Subscribe & subscribe)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onUnsuback()

virtual void iot::mqtt_fast::SocketContext::onUnsuback ( const iot::mqtt_fast::packets::Unsuback & unsuback)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ onUnsubscribe()

virtual void iot::mqtt_fast::SocketContext::onUnsubscribe ( const iot::mqtt_fast::packets::Unsubscribe & unsubscribe)
privatepure virtual

Referenced by onReceivedFromPeer().

Here is the caller graph for this function:

◆ printData()

void iot::mqtt_fast::SocketContext::printData ( const std::vector< char > & data)
staticprivate

Definition at line 244 of file SocketContext.cpp.

244 {
245 std::stringstream ss;
246
247 ss << "Data: ";
248 unsigned long i = 0;
249 for (char const ch : data) {
250 if (i != 0 && i % 8 == 0 && i + 1 != data.size()) {
251 ss << std::endl;
252 ss << " ";
253 }
254 ++i;
255 ss << "0x" << std::hex << std::setfill('0') << std::setw(2) << static_cast<uint16_t>(static_cast<uint8_t>(ch))
256 << " "; // << " | ";
257 }
258
259 LOG(DEBUG) << ss.str();
260 }

Referenced by onReceivedFromPeer(), and send().

Here is the caller graph for this function:

◆ send() [1/3]

void iot::mqtt_fast::SocketContext::send ( iot::mqtt_fast::ControlPacket && controlPacket) const
private

Definition at line 231 of file SocketContext.cpp.

231 {
232 send(controlPacket.getPacket());
233 }
std::vector< char > getPacket()
void send(iot::mqtt_fast::ControlPacket &&controlPacket) const

References iot::mqtt_fast::ControlPacket::getPacket(), and send().

Referenced by sendConnack(), sendConnect(), sendDisconnect(), sendPingreq(), sendPingresp(), sendPuback(), sendPubcomp(), sendPublish(), sendPubrec(), sendPubrel(), sendSuback(), sendSubscribe(), sendUnsuback(), and sendUnsubscribe().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ send() [2/3]

void iot::mqtt_fast::SocketContext::send ( iot::mqtt_fast::ControlPacket & controlPacket) const
private

Definition at line 235 of file SocketContext.cpp.

235 {
236 send(controlPacket.getPacket());
237 }

References iot::mqtt_fast::ControlPacket::getPacket(), and send().

Here is the call graph for this function:

◆ send() [3/3]

void iot::mqtt_fast::SocketContext::send ( std::vector< char > && data) const
private

Definition at line 239 of file SocketContext.cpp.

239 {
240 printData(data);
241 sendToPeer(data.data(), data.size());
242 }
void sendToPeer(const char *chunk, std::size_t chunkLen) const final

References printData(), and core::socket::stream::SocketContext::sendToPeer().

Referenced by send(), and send().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sendConnack()

void iot::mqtt_fast::SocketContext::sendConnack ( uint8_t returnCode,
uint8_t flags )

Definition at line 72 of file SocketContext.cpp.

72 {
73 LOG(DEBUG) << "MQTT (fast): Send CONNACK";
74 LOG(DEBUG) << "MQTT (fast): ============";
75
76 send(iot::mqtt_fast::packets::Connack(returnCode, flags));
77 }

References iot::mqtt_fast::packets::Connack::Connack(), and send().

Here is the call graph for this function:

◆ sendConnect()

void iot::mqtt_fast::SocketContext::sendConnect ( const std::string & clientId)

Definition at line 65 of file SocketContext.cpp.

65 {
66 LOG(DEBUG) << "MQTT (fast): Send CONNECT";
67 LOG(DEBUG) << "MQTT (fast): ============";
68
69 send(iot::mqtt_fast::packets::Connect(clientId));
70 }

References iot::mqtt_fast::packets::Connect::Connect(), and send().

Here is the call graph for this function:

◆ sendDisconnect()

void iot::mqtt_fast::SocketContext::sendDisconnect ( )

Definition at line 156 of file SocketContext.cpp.

156 {
157 LOG(DEBUG) << "MQTT (fast): Send Disconnect";
158 LOG(DEBUG) << "MQTT (fast): ===============";
159
160 send(iot::mqtt_fast::packets::Disconnect());
161 }

References iot::mqtt_fast::packets::Disconnect::Disconnect(), and send().

Here is the call graph for this function:

◆ sendPingreq()

void iot::mqtt_fast::SocketContext::sendPingreq ( )

Definition at line 142 of file SocketContext.cpp.

142 {
143 LOG(DEBUG) << "MQTT (fast): Send Pingreq";
144 LOG(DEBUG) << "MQTT (fast): ============";
145
146 send(iot::mqtt_fast::packets::Pingreq());
147 }

References iot::mqtt_fast::packets::Pingreq::Pingreq(), and send().

Here is the call graph for this function:

◆ sendPingresp()

void iot::mqtt_fast::SocketContext::sendPingresp ( )

Definition at line 149 of file SocketContext.cpp.

149 {
150 LOG(DEBUG) << "MQTT (fast): Send Pingresp";
151 LOG(DEBUG) << "MQTT (fast): =============";
152
153 send(iot::mqtt_fast::packets::Pingresp());
154 }

References iot::mqtt_fast::packets::Pingresp::Pingresp(), and send().

Here is the call graph for this function:

◆ sendPuback()

void iot::mqtt_fast::SocketContext::sendPuback ( uint16_t packetIdentifier)

Definition at line 86 of file SocketContext.cpp.

86 {
87 LOG(DEBUG) << "MQTT (fast): Send PUBACK";
88 LOG(DEBUG) << "MQTT (fast): ===========";
89
90 send(iot::mqtt_fast::packets::Puback(packetIdentifier));
91 }

References iot::mqtt_fast::packets::Puback::Puback(), and send().

Here is the call graph for this function:

◆ sendPubcomp()

void iot::mqtt_fast::SocketContext::sendPubcomp ( uint16_t packetIdentifier)

Definition at line 107 of file SocketContext.cpp.

107 {
108 LOG(DEBUG) << "MQTT (fast): Send PUBCOMP";
109 LOG(DEBUG) << "MQTT (fast): ============";
110
111 send(iot::mqtt_fast::packets::Pubcomp(packetIdentifier));
112 }

References iot::mqtt_fast::packets::Pubcomp::Pubcomp(), and send().

Here is the call graph for this function:

◆ sendPublish()

void iot::mqtt_fast::SocketContext::sendPublish ( const std::string & topic,
const std::string & message,
bool dup = false,
uint8_t qoS = 0,
bool retain = false )

Definition at line 79 of file SocketContext.cpp.

79 {
80 LOG(DEBUG) << "MQTT (fast): Send PUBLISH";
81 LOG(DEBUG) << "MQTT (fast): ============";
82
83 send(iot::mqtt_fast::packets::Publish(qoS == 0 ? 0 : getPacketIdentifier(), topic, message, dup, qoS, retain));
84 }

References getPacketIdentifier(), iot::mqtt_fast::packets::Publish::Publish(), and send().

Here is the call graph for this function:

◆ sendPubrec()

void iot::mqtt_fast::SocketContext::sendPubrec ( uint16_t packetIdentifier)

Definition at line 93 of file SocketContext.cpp.

93 {
94 LOG(DEBUG) << "MQTT (fast): Send PUBREC";
95 LOG(DEBUG) << "MQTT (fast): ===========";
96
97 send(iot::mqtt_fast::packets::Pubrec(packetIdentifier));
98 }

References iot::mqtt_fast::packets::Pubrec::Pubrec(), and send().

Here is the call graph for this function:

◆ sendPubrel()

void iot::mqtt_fast::SocketContext::sendPubrel ( uint16_t packetIdentifier)

Definition at line 100 of file SocketContext.cpp.

100 {
101 LOG(DEBUG) << "MQTT (fast): Send PUBREL";
102 LOG(DEBUG) << "MQTT (fast): ===========";
103
104 send(iot::mqtt_fast::packets::Pubrel(packetIdentifier));
105 }

References iot::mqtt_fast::packets::Pubrel::Pubrel(), and send().

Here is the call graph for this function:

◆ sendSuback()

void iot::mqtt_fast::SocketContext::sendSuback ( uint16_t packetIdentifier,
const std::list< uint8_t > & returnCodes )

Definition at line 121 of file SocketContext.cpp.

121 {
122 LOG(DEBUG) << "MQTT (fast): Send SUBACK";
123 LOG(DEBUG) << "MQTT (fast): ===========";
124
125 send(iot::mqtt_fast::packets::Suback(packetIdentifier, returnCodes));
126 }

References send(), and iot::mqtt_fast::packets::Suback::Suback().

Here is the call graph for this function:

◆ sendSubscribe()

void iot::mqtt_fast::SocketContext::sendSubscribe ( std::list< Topic > & topics)

Definition at line 114 of file SocketContext.cpp.

114 {
115 LOG(DEBUG) << "MQTT (fast): Send SUBSCRIBE";
116 LOG(DEBUG) << "MQTT (fast): ==============";
117
118 send(iot::mqtt_fast::packets::Subscribe(getPacketIdentifier(), topics));
119 }

References getPacketIdentifier(), send(), and iot::mqtt_fast::packets::Subscribe::Subscribe().

Here is the call graph for this function:

◆ sendUnsuback()

void iot::mqtt_fast::SocketContext::sendUnsuback ( uint16_t packetIdentifier)

Definition at line 135 of file SocketContext.cpp.

135 {
136 LOG(DEBUG) << "MQTT (fast): Send UNSUBACK";
137 LOG(DEBUG) << "MQTT (fast): =============";
138
139 send(iot::mqtt_fast::packets::Unsuback(packetIdentifier));
140 }

References send(), and iot::mqtt_fast::packets::Unsuback::Unsuback().

Here is the call graph for this function:

◆ sendUnsubscribe()

void iot::mqtt_fast::SocketContext::sendUnsubscribe ( const std::list< std::string > & topics)

Definition at line 128 of file SocketContext.cpp.

128 {
129 LOG(DEBUG) << "MQTT (fast): Send UNSUBSCRIBE";
130 LOG(DEBUG) << "MQTT (fast): ================";
131
132 send(iot::mqtt_fast::packets::Unsubscribe(getPacketIdentifier(), topics));
133 }

References getPacketIdentifier(), send(), and iot::mqtt_fast::packets::Unsubscribe::Unsubscribe().

Here is the call graph for this function:

Member Data Documentation

◆ _packetIdentifier

uint16_t iot::mqtt_fast::SocketContext::_packetIdentifier = 0
private

Definition at line 139 of file SocketContext.h.

Referenced by getPacketIdentifier().

◆ controlPacketFactory

iot::mqtt_fast::ControlPacketFactory iot::mqtt_fast::SocketContext::controlPacketFactory
private

Definition at line 137 of file SocketContext.h.

Referenced by onReceivedFromPeer(), and SocketContext().


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