Next

Chapter 1. Async.MQTT5: a C++17 MQTT client

Ivica Siladić

Bruno Iljazović

Korina Šimičević

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Introduction
Getting Started
Choosing a Suitable Transport Protocol
Configuring Your MQTT Connection
Establishing a Connection
Using the Client
Debugging the Client
Built-in Auto-Reconnect and Retry Mechanism
Considerations and Limitations
Maintaining a Stable Connection
Understanding Keep Alive and Server Keep Alive
Detecting and Handling Half-open Connections
Optimising Communication
The Multiflight Mode
Efficient Bandwidth Usage With Packet Queuing
Packet Ordering
Disconnecting the Client
Restarting the Client After Disconnection
Compliance With Boost.Asio
Allocators
Per-Operation Cancellation
Executors
Using the mqtt_client in a Multithreaded Environment
Thread Safety of ASIO-Compliant Objects
Executors, Threads, and Strands
Writing Thread-Safe Code
Examples
Reference

Next