2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20#ifndef IOT_MQTTFAST_SOCKETCONTEXT_H
21#define IOT_MQTTFAST_SOCKETCONTEXT_H
23#include "core/socket/stream/SocketContext.h"
24#include "iot/mqtt-fast/ControlPacketFactory.h"
25#include "iot/mqtt-fast/Topic.h"
26#include "iot/mqtt-fast/packets/Connack.h"
27#include "iot/mqtt-fast/packets/Connect.h"
28#include "iot/mqtt-fast/packets/Disconnect.h"
29#include "iot/mqtt-fast/packets/Pingreq.h"
30#include "iot/mqtt-fast/packets/Pingresp.h"
31#include "iot/mqtt-fast/packets/Puback.h"
32#include "iot/mqtt-fast/packets/Pubcomp.h"
33#include "iot/mqtt-fast/packets/Publish.h"
34#include "iot/mqtt-fast/packets/Pubrec.h"
35#include "iot/mqtt-fast/packets/Pubrel.h"
36#include "iot/mqtt-fast/packets/Suback.h"
37#include "iot/mqtt-fast/packets/Subscribe.h"
38#include "iot/mqtt-fast/packets/Unsuback.h"
39#include "iot/mqtt-fast/packets/Unsubscribe.h"
41namespace core::socket::
stream {
42 class SocketConnection;
49#ifndef DOXYGEN_SHOULD_SKIP_THIS
66 void sendConnack(uint8_t returnCode, uint8_t flags);
67 void sendPublish(
const std::string& topic,
const std::string& message,
bool dup =
false, uint8_t qoS = 0,
bool retain =
false);
73 void sendSuback(uint16_t packetIdentifier,
const std::list<uint8_t>& returnCodes);
100 void send(std::vector<
char>&& data)
const;
101 static void printData(
const std::vector<
char>& data);
void sendPubrel(uint16_t packetIdentifier)
virtual void onPubrel(const iot::mqtt_fast::packets::Pubrel &pubrel)=0
SocketContext(core::socket::stream::SocketConnection *socketConnection)
void sendPubrec(uint16_t packetIdentifier)
uint16_t _packetIdentifier
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
iot::mqtt_fast::ControlPacketFactory controlPacketFactory
void sendPubcomp(uint16_t packetIdentifier)
void sendConnect(const std::string &clientId)
void sendSuback(uint16_t packetIdentifier, const std::list< uint8_t > &returnCodes)
void send(iot::mqtt_fast::ControlPacket &controlPacket) const
void sendUnsuback(uint16_t packetIdentifier)
void sendUnsubscribe(const std::list< std::string > &topics)
void sendSubscribe(std::list< Topic > &topics)
void sendPublish(const std::string &topic, const std::string &message, bool dup=false, uint8_t qoS=0, bool retain=false)
virtual void onUnsuback(const iot::mqtt_fast::packets::Unsuback &unsuback)=0
virtual void onSubscribe(const iot::mqtt_fast::packets::Subscribe &subscribe)=0
void sendPuback(uint16_t packetIdentifier)
virtual void onConnack(const iot::mqtt_fast::packets::Connack &connack)=0
void send(std::vector< char > &&data) const
static void printData(const std::vector< char > &data)
uint16_t getPacketIdentifier()
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
std::size_t onReceivedFromPeer() final
void send(iot::mqtt_fast::ControlPacket &&controlPacket) const
void sendConnack(uint8_t returnCode, uint8_t flags)
virtual void onPingreq(const iot::mqtt_fast::packets::Pingreq &pingreq)=0