2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#ifndef IOT_MQTT_SERVER_SOCKETCONTEXT_H
43#define IOT_MQTT_SERVER_SOCKETCONTEXT_H
45#include "iot/mqtt/Mqtt.h"
76#ifndef DOXYGEN_SHOULD_SKIP_THIS
85namespace iot::mqtt::server {
89 using Super = iot::mqtt::
Mqtt;
92 explicit Mqtt(
const std::string& connectionName,
const std::shared_ptr<
broker::
Broker>& broker);
96 void subscribe(
const std::string& topic, uint8_t qoS)
const;
107 using Super::initSession;
125 void sendConnack(uint8_t returnCode, uint8_t flags)
const;
126 void sendSuback(uint16_t packetIdentifier,
const std::list<uint8_t>& returnCodes)
const;
void printVP(const iot::mqtt::ControlPacket &packet) const
void _onPuback(const iot::mqtt::packets::Puback &puback)
iot::mqtt::types::UInt16 packetIdentifier
~ControlPacketDeserializer() override
virtual void deliverPacket(iot::mqtt::server::Mqtt *mqtt)=0
virtual void onConnect(const iot::mqtt::packets::Connect &connect)
bool getPasswordFlag() const
void subscribe(const std::string &topic, uint8_t qoS) const
void sendSuback(uint16_t packetIdentifier, const std::list< uint8_t > &returnCodes) const
bool getCleanSession() const
bool onSignal(int sig) override
uint8_t getConnectFlags() const
virtual void onSubscribe(const iot::mqtt::packets::Subscribe &subscribe)
uint16_t getKeepAlive() const
void _onPingreq(const iot::mqtt::server::packets::Pingreq &pingreq)
virtual void onPingreq(const iot::mqtt::packets::Pingreq &pingreq)
bool getWillRetain() const
std::string getProtocol() const
void _onUnsubscribe(const iot::mqtt::server::packets::Unsubscribe &unsubscribe)
bool getUsernameFlag() const
virtual void onDisconnect(const iot::mqtt::packets::Disconnect &disconnect)
void _onPublish(const iot::mqtt::server::packets::Publish &publish)
void deliverPacket(iot::mqtt::ControlPacketDeserializer *controlPacketDeserializer) override
void _onSubscribe(const iot::mqtt::server::packets::Subscribe &subscribe)
iot::mqtt::ControlPacketDeserializer * createControlPacketDeserializer(iot::mqtt::FixedHeader &fixedHeader) final
bool initSession(const utils::Timeval &keepAlive)
std::list< std::string > getSubscriptions() const
std::string getWillMessage() const
void _onConnect(const iot::mqtt::server::packets::Connect &connect)
void sendPingresp() const
void sendConnack(uint8_t returnCode, uint8_t flags) const
std::string getClientId() const
uint8_t getWillQoS() const
virtual void onUnsubscribe(const iot::mqtt::packets::Unsubscribe &unsubscribe)
std::string getWillTopic() const
void sendUnsuback(uint16_t packetIdentifier) const
void _onDisconnect(const iot::mqtt::server::packets::Disconnect &disconnect)
Mqtt(const std::string &connectionName, const std::shared_ptr< broker::Broker > &broker)
std::string getUsername() const
void unsubscribe(const std::string &topic) const
std::string getPassword() const
std::size_t deserializeVP(iot::mqtt::MqttContext *mqttContext) override
void deliverPacket(iot::mqtt::server::Mqtt *mqtt) override
Puback(uint32_t remainingLength, uint8_t flags)
virtual std::size_t deserialize(iot::mqtt::MqttContext *mqttContext)
#define MQTT_PUBACK_FLAGS