AWS IoT C++ SDK
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes
awsiotsdk::mqtt::Packet Class Referenceabstract

Define a base class for all MQTT Packet types.

#include <Packet.hpp>

Inheritance diagram for awsiotsdk::mqtt::Packet:
awsiotsdk::ActionData awsiotsdk::mqtt::ConnectPacket awsiotsdk::mqtt::DisconnectPacket awsiotsdk::mqtt::PingreqPacket awsiotsdk::mqtt::PubackPacket awsiotsdk::mqtt::PublishPacket awsiotsdk::mqtt::SubackPacket awsiotsdk::mqtt::SubscribePacket awsiotsdk::mqtt::UnsubackPacket awsiotsdk::mqtt::UnsubscribePacket

Public Member Functions

 Packet (const Packet &)=delete
 
 Packet (Packet &&)=delete
 
Packetoperator= (const Packet &) &=delete
 
Packetoperator= (Packet &&) &=delete
 
uint16_t GetActionId ()
 Get ID of the current run of this Action. More...
 
void SetActionId (uint16_t action_id)
 Set the Action ID for this run of the Action. More...
 
bool isPacketDataValid ()
 
uint16_t GetPacketId ()
 
void SetPacketId (uint16_t packet_id)
 
size_t Size ()
 
virtual util::String ToString ()=0
 
- Public Member Functions inherited from awsiotsdk::ActionData
 ActionData (const ActionData &)=default
 
 ActionData (ActionData &&)=default
 
ActionDataoperator= (const ActionData &) &=default
 
ActionDataoperator= (ActionData &&) &=default
 
virtual uint16_t GetActionId ()=0
 Get ID of the current run of this Action. More...
 
virtual void SetActionId (uint16_t action_id)=0
 Set the Action ID for this run of the Action. More...
 

Static Public Member Functions

static void AppendUInt16ToBuffer (util::String &buf, uint16_t value)
 
static void AppendUtf8StringToBuffer (util::String &buf, std::unique_ptr< Utf8String > &utf8_str)
 
static void AppendUtf8StringToBuffer (util::String &buf, std::shared_ptr< Utf8String > &utf8_str)
 
static uint16_t ReadUInt16FromBuffer (const util::Vector< unsigned char > &buf, size_t &extract_index)
 
static std::unique_ptr< Utf8StringReadUtf8StringFromBuffer (const util::Vector< unsigned char > &buf, size_t &extract_index)
 

Protected Attributes

PacketFixedHeader fixed_header_
 Fixed header for this packet instance.
 
size_t packet_size_
 Size of the packet.
 
size_t serialized_packet_length_
 Serialized length of the entire packet including fixed header.
 
std::atomic_uint_fast16_t packet_id_
 Message sequence identifier. Handled automatically by the MQTT client.
 

Additional Inherited Members

- Public Types inherited from awsiotsdk::ActionData
typedef std::function< void(uint16_t action_id, ResponseCode rc)> AsyncAckNotificationHandlerPtr
 
- Data Fields inherited from awsiotsdk::ActionData
AsyncAckNotificationHandlerPtr p_async_ack_handler_
 Handler to call when response is received for this action.
 

Member Function Documentation

◆ GetActionId()

uint16_t awsiotsdk::mqtt::Packet::GetActionId ( )
inlinevirtual
Returns
uint16_t - Action ID

Implements awsiotsdk::ActionData.

◆ SetActionId()

void awsiotsdk::mqtt::Packet::SetActionId ( uint16_t  action_id)
inlinevirtual
Parameters
action_id- new Action ID

Implements awsiotsdk::ActionData.

◆ ToString()

virtual util::String awsiotsdk::mqtt::Packet::ToString ( )
pure virtual