2023-10-19 15:05:22 +02:00
|
|
|
[/
|
|
|
|
Copyright (c) 2023 Mireo
|
|
|
|
|
|
|
|
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)
|
|
|
|
]
|
|
|
|
|
2023-10-23 15:45:56 +02:00
|
|
|
[section:Error_handling Error handling]
|
2023-10-19 15:05:22 +02:00
|
|
|
|
|
|
|
The table below provides a reference of all __ERROR_CODE__ instances that asynchronous operations
|
|
|
|
may complete with, along with the reasons for their occurrence.
|
|
|
|
|
|
|
|
[table:error_codes Error codes
|
|
|
|
[[Error code] [Cause]]
|
|
|
|
[[`boost::system::errc::errc_t::success`] [The operation completed successfully.]]
|
|
|
|
[[`boost::asio::error::opreation_aborted`] [
|
|
|
|
The operation has been cancelled.
|
|
|
|
The cancellation of the operation can be triggered by invoking either [refmem mqtt_client cancel]
|
|
|
|
or [refmem mqtt_client async_disconnect]. Furthermore, if a cancellation slot has been associated
|
|
|
|
with the __CompletionToken__ provided and the corresponding cancellation signal is emitted,
|
|
|
|
the operation will also finish with this error code (see __ASIO_PER_OP_CANCELLATION__).
|
|
|
|
]]
|
2023-10-31 15:10:34 +01:00
|
|
|
[[`boost::asio::no_recovery`] [
|
|
|
|
An non-recoverable error occurred during the attempt by the [reflink2 mqtt_client `mqtt_client`]
|
|
|
|
to establish a connection with the Broker. The cause of this error may be attributed to the connection
|
|
|
|
related parameters used during the initialization of the [reflink2 mqtt_client `mqtt_client`].
|
|
|
|
]]
|
2023-10-19 15:05:22 +02:00
|
|
|
[[`boost::asio::experimental::error::channel_cancelled`] [
|
|
|
|
This error occurs in scenarios identical to those causing `boost::asio::error::operation_aborted`
|
|
|
|
error code but it is exclusive to completion handlers associated with [refmem mqtt_client async_receive] calls.
|
|
|
|
]]
|
|
|
|
[[`async_mqtt5::client::error::pid_overrun`] [
|
|
|
|
This error code signifies that the Client was unable to allocate a Packet Identifier for
|
|
|
|
the current operation due to the exhaustion of the available identifiers.
|
|
|
|
This occurs when there are 65535 outgoing Packets awaiting their responses.
|
|
|
|
]]
|
|
|
|
[[`async_mqtt5::client::error::qos_not_supported`] [
|
|
|
|
The Client has attempted to publish an Application Message with __QOS__ higher
|
|
|
|
than the Maximum __QOS__ specified by the Server.
|
|
|
|
The Server does not support this __QOS__ (see __MAXIMUM_QOS__).
|
|
|
|
This error code is exclusive to completion handlers associated with [refmem mqtt_client async_publish] calls.
|
|
|
|
]]
|
|
|
|
[[`async_mqtt5::client::error::retain_not_available`] [
|
2023-10-26 12:31:02 +02:00
|
|
|
The Client has attempted to publish an Application Message with the __RETAIN__ flag set to 1.
|
2023-10-19 15:05:22 +02:00
|
|
|
However, the Server does not support retained messages (see __RETAIN_AVAILABLE__).
|
|
|
|
This error code is exclusive to completion handlers associated with [refmem mqtt_client async_publish] calls.
|
|
|
|
]]
|
|
|
|
[[`async_mqtt5::client::error::topic_alias_maximum`] [
|
|
|
|
The Client has attempted to publish an Application Message with the Topic Alias
|
|
|
|
exceeding the Server's supported Topic Alias Maximum. Additionally, this error code
|
|
|
|
will arise in instances when the Server does NOT support Topic Aliases, and the
|
|
|
|
Client has attempted to use them. See __TOPIC_ALIAS_MAX__.
|
|
|
|
This error code is exclusive to completion handlers associated with [refmem mqtt_client async_publish] calls.
|
|
|
|
]]
|
|
|
|
]
|
|
|
|
|
|
|
|
[endsect]
|