AWS IoT Device SDK C++ v2  1.33.0
AWS IoT Device SDK C++ v2
Public Member Functions | List of all members
Aws::Crt::Mqtt5::NegotiatedSettings Class Reference

#include <Mqtt5Packets.h>

Public Member Functions

 NegotiatedSettings (const aws_mqtt5_negotiated_settings &negotiated_settings, Allocator *allocator=ApiAllocator()) noexcept
 
Mqtt5::QOS getMaximumQOS () const noexcept
 
uint32_t getSessionExpiryIntervalSec () const noexcept
 
uint16_t getReceiveMaximumFromServer () const noexcept
 
uint32_t getMaximumPacketSizeBytes () const noexcept
 
uint32_t getMaximumPacketSizeToServer () const noexcept
 
uint16_t getTopicAliasMaximumToServer () const noexcept
 
uint16_t getTopicAliasMaximumToClient () const noexcept
 
uint16_t getServerKeepAliveSec () const noexcept
 
uint16_t getServerKeepAlive () const noexcept
 
bool getRetainAvailable () const noexcept
 
bool getWildcardSubscriptionsAvailable () const noexcept
 
bool getSubscriptionIdentifiersAvailable () const noexcept
 
bool getSharedSubscriptionsAvailable () const noexcept
 
bool getRejoinedSession () const noexcept
 
const Crt::StringgetClientId () const noexcept
 
virtual ~NegotiatedSettings ()
 
 NegotiatedSettings (const NegotiatedSettings &)=delete
 
 NegotiatedSettings (NegotiatedSettings &&) noexcept=delete
 
NegotiatedSettingsoperator= (const NegotiatedSettings &)=delete
 
NegotiatedSettingsoperator= (NegotiatedSettings &&) noexcept=delete
 

Detailed Description

Mqtt behavior settings that are dynamically negotiated as part of the CONNECT/CONNACK exchange.

While you can infer all of these values from a combination of (1) defaults as specified in the mqtt5 spec (2) your CONNECT settings (3) the CONNACK from the broker

the client instead does the combining for you and emits a NegotiatedSettings object with final, authoritative values.

Negotiated settings are communicated with every successful connection establishment.

Constructor & Destructor Documentation

◆ NegotiatedSettings() [1/3]

Aws::Crt::Mqtt5::NegotiatedSettings::NegotiatedSettings ( const aws_mqtt5_negotiated_settings &  negotiated_settings,
Allocator allocator = ApiAllocator() 
)
noexcept

◆ ~NegotiatedSettings()

virtual Aws::Crt::Mqtt5::NegotiatedSettings::~NegotiatedSettings ( )
inlinevirtual

◆ NegotiatedSettings() [2/3]

Aws::Crt::Mqtt5::NegotiatedSettings::NegotiatedSettings ( const NegotiatedSettings )
delete

◆ NegotiatedSettings() [3/3]

Aws::Crt::Mqtt5::NegotiatedSettings::NegotiatedSettings ( NegotiatedSettings &&  )
deletenoexcept

Member Function Documentation

◆ getClientId()

const Crt::String & Aws::Crt::Mqtt5::NegotiatedSettings::getClientId ( ) const
noexcept

The final client id in use by the newly-established connection. This will be the configured client id if one was given in the configuration, otherwise, if no client id was specified, this will be the client id assigned by the server. Reconnection attempts will always use the auto-assigned client id, allowing for auto-assigned session resumption.

Returns
The final client id in use by the newly-established connection

◆ getMaximumPacketSizeBytes()

uint32_t Aws::Crt::Mqtt5::NegotiatedSettings::getMaximumPacketSizeBytes ( ) const
noexcept
Deprecated:
the function is deprecated, please use NegotiatedSettings::getMaximumPacketSizeToServer()
Returns
The maximum packet size the server is willing to accept.

◆ getMaximumPacketSizeToServer()

uint32_t Aws::Crt::Mqtt5::NegotiatedSettings::getMaximumPacketSizeToServer ( ) const
noexcept
Returns
The maximum packet size the server is willing to accept.

◆ getMaximumQOS()

Mqtt5::QOS Aws::Crt::Mqtt5::NegotiatedSettings::getMaximumQOS ( ) const
noexcept
Returns
The maximum QoS allowed for publishes on this connection instance

◆ getReceiveMaximumFromServer()

uint16_t Aws::Crt::Mqtt5::NegotiatedSettings::getReceiveMaximumFromServer ( ) const
noexcept
Returns
The number of in-flight QoS 1 and QoS 2 publications the server is willing to process concurrently.

◆ getRejoinedSession()

bool Aws::Crt::Mqtt5::NegotiatedSettings::getRejoinedSession ( ) const
noexcept
Returns
Whether the client has rejoined an existing session.

◆ getRetainAvailable()

bool Aws::Crt::Mqtt5::NegotiatedSettings::getRetainAvailable ( ) const
noexcept
Returns
Whether the server supports retained messages.

◆ getServerKeepAlive()

uint16_t Aws::Crt::Mqtt5::NegotiatedSettings::getServerKeepAlive ( ) const
noexcept
Deprecated:
The function is deprecated, please use NegotiatedSettings::getServerKeepAliveSec()

The maximum amount of time in seconds between client packets. The client should use PINGREQs to ensure this limit is not breached. The server will disconnect the client for inactivity if no MQTT packet is received in a time interval equal to 1.5 x this value.

Returns
The maximum amount of time in seconds between client packets.

◆ getServerKeepAliveSec()

uint16_t Aws::Crt::Mqtt5::NegotiatedSettings::getServerKeepAliveSec ( ) const
noexcept

The maximum amount of time in seconds between client packets. The client should use PINGREQs to ensure this limit is not breached. The server will disconnect the client for inactivity if no MQTT packet is received in a time interval equal to 1.5 x this value.

Returns
The maximum amount of time in seconds between client packets.

◆ getSessionExpiryIntervalSec()

uint32_t Aws::Crt::Mqtt5::NegotiatedSettings::getSessionExpiryIntervalSec ( ) const
noexcept
Returns
The amount of time in seconds the server will retain the MQTT session after a disconnect.

◆ getSharedSubscriptionsAvailable()

bool Aws::Crt::Mqtt5::NegotiatedSettings::getSharedSubscriptionsAvailable ( ) const
noexcept
Returns
Whether the server supports shared subscriptions

◆ getSubscriptionIdentifiersAvailable()

bool Aws::Crt::Mqtt5::NegotiatedSettings::getSubscriptionIdentifiersAvailable ( ) const
noexcept
Returns
Whether the server supports subscription identifiers

◆ getTopicAliasMaximumToClient()

uint16_t Aws::Crt::Mqtt5::NegotiatedSettings::getTopicAliasMaximumToClient ( ) const
noexcept
Returns
returns the maximum allowed topic alias value on publishes sent from server to client

◆ getTopicAliasMaximumToServer()

uint16_t Aws::Crt::Mqtt5::NegotiatedSettings::getTopicAliasMaximumToServer ( ) const
noexcept
Returns
returns the maximum allowed topic alias value on publishes sent from client to server

◆ getWildcardSubscriptionsAvailable()

bool Aws::Crt::Mqtt5::NegotiatedSettings::getWildcardSubscriptionsAvailable ( ) const
noexcept
Returns
Whether the server supports wildcard subscriptions.

◆ operator=() [1/2]

NegotiatedSettings& Aws::Crt::Mqtt5::NegotiatedSettings::operator= ( const NegotiatedSettings )
delete

◆ operator=() [2/2]

NegotiatedSettings& Aws::Crt::Mqtt5::NegotiatedSettings::operator= ( NegotiatedSettings &&  )
deletenoexcept

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