diff --git a/doc/api/all_8hpp_source.html b/doc/api/all_8hpp_source.html
index 1afa6d1a3..b0fae3679 100644
--- a/doc/api/all_8hpp_source.html
+++ b/doc/api/all_8hpp_source.html
@@ -28,7 +28,7 @@
- async_mqtt 5.1.0
+ async_mqtt 5.1.1
|
@@ -220,7 +220,7 @@
137 (
auto const&
se)
mutable {
-
+
142 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
@@ -232,586 +232,624 @@
148 (error_code
const& )
mutable {
150 auto it =
idx.find(tim);
- 151 if (
it !=
idx.end()) {
-
-
-
-
-
-
-
- 159 errc::make_error_code(sys::errc::protocol_error),
-
-
+ 151 if (
it ==
idx.end()) {
+
+ 153 errc::make_error_code(sys::errc::operation_canceled),
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
- 180 template <
typename CompletionToken>
-
-
-
182 subscribe_packet packet,
-
-
-
185 return as::async_initiate<
-
-
-
-
-
-
191 subscribe_packet&& packet
-
-
193 auto pid = packet.packet_id();
-
-
-
-
197 (
auto const&
se)
mutable {
-
-
-
-
-
202 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
-
203 tim->expires_at(std::chrono::steady_clock::time_point::max());
-
204 pid_tim_pv_res_col_.emplace(pid, tim);
-
-
-
207 (error_code
const& )
mutable {
-
-
209 auto it =
idx.find(tim);
-
210 if (
it !=
idx.end()) {
-
-
-
-
-
-
-
-
218 errc::make_error_code(sys::errc::protocol_error),
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 239 template <
typename CompletionToken>
-
-
-
241 unsubscribe_packet packet,
-
-
-
244 return as::async_initiate<
-
-
-
-
-
-
250 unsubscribe_packet&& packet
-
-
252 auto pid = packet.packet_id();
-
-
-
-
256 (
auto const&
se)
mutable {
-
-
-
-
-
261 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
-
262 tim->expires_at(std::chrono::steady_clock::time_point::max());
-
263 pid_tim_pv_res_col_.emplace(pid, tim);
-
-
-
266 (error_code
const& )
mutable {
-
-
268 auto it =
idx.find(tim);
-
269 if (
it !=
idx.end()) {
-
-
-
-
-
-
-
-
277 errc::make_error_code(sys::errc::protocol_error),
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 301 template <
typename CompletionToken>
-
-
-
303 publish_packet packet,
-
-
-
306 return as::async_initiate<
-
-
-
-
-
-
312 publish_packet&& packet
-
-
314 auto pid = packet.packet_id();
-
-
-
-
318 (
auto const&
se)
mutable {
-
-
-
-
-
323 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
-
324 tim->expires_at(std::chrono::steady_clock::time_point::max());
-
-
-
-
-
-
330 pid_tim_pv_res_col_.emplace(pid, tim);
-
-
-
333 (error_code
const& )
mutable {
-
-
335 auto it =
idx.find(tim);
-
336 if (
it !=
idx.end()) {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 357 template <
typename CompletionToken>
-
-
-
359 disconnect_packet packet,
-
-
-
362 return as::async_initiate<
-
-
364 void(error_code
const& ec)
-
-
-
-
368 disconnect_packet&& packet
-
-
-
-
-
373 (
auto const&
se)
mutable {
-
-
-
-
-
-
-
-
-
-
- 388 template<
typename CompletionToken>
-
-
-
-
391 return ep_->close(std::forward<CompletionToken>(
token));
-
-
-
- 400 template <
typename CompletionToken>
-
-
-
-
-
404 return as::async_initiate<
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
419 auto [ec, publish_opt, disconnect_opt] = recv_queue_.front();
-
420 recv_queue_.pop_front();
-
-
-
423 force_move(publish_opt),
-
424 force_move(disconnect_opt)
-
-
-
427 if (recv_queue_.empty()) {
-
428 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
-
429 tim_notify_publish_recv_.expires_at(std::chrono::steady_clock::time_point::max());
-
430 tim_notify_publish_recv_.async_wait(
-
-
432 (error_code
const& )
mutable {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
453 return get_inner_executor(ep_->strand());
-
-
-
-
-
-
461 return ep_->strand();
-
-
-
-
-
-
469 return ep_->strand();
-
-
-
-
-
-
477 return ep_->in_strand();
-
-
-
-
-
-
485 return ep_->next_layer();
-
-
-
-
-
492 return ep_->next_layer();
-
-
-
-
-
-
500 return ep_->lowest_layer();
-
-
-
-
-
507 return ep_->lowest_layer();
-
-
-
-
-
-
518 ep_->set_auto_map_topic_alias_send(val);
-
-
-
-
-
-
529 ep_->set_auto_replace_topic_alias_send(val);
-
-
-
-
-
-
542 ep_->set_pingresp_recv_timeout_ms(
ms);
-
-
-
-
-
-
555 ep_->set_bulk_write(val);
-
-
-
- 563 template <
typename CompletionToken>
-
-
-
565 return ep_->acquire_unique_packet_id(std::forward<CompletionToken>(
token));
-
-
-
- 574 template <
typename CompletionToken>
-
-
-
-
-
-
579 return ep_->acquire_unique_packet_id_wait_until(std::forward<CompletionToken>(
token));
-
-
-
- 588 template <
typename CompletionToken>
-
-
-
590 return ep_->register_packet_id(pid, std::forward<CompletionToken>(
token));
-
-
-
- 599 template <
typename CompletionToken>
-
-
-
601 return ep_->release_packet_id(pid, std::forward<CompletionToken>(
token));
-
-
-
-
-
-
610 return ep_->acquire_unique_packet_id();
-
-
-
-
-
-
620 return ep_->register_packet_id(pid);
-
-
-
-
-
-
629 ep_->release_packet_id(pid);
-
-
-
-
-
-
-
-
- 637 (packet_variant pv)
mutable {
-
-
- 640 [&](connack_packet& p) {
-
- 642 auto it =
idx.find(0);
- 643 if (
it !=
idx.end()) {
-
-
-
-
-
- 649 [&](suback_packet& p) {
- 650 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
- 651 auto it = idx.find(p.packet_id());
- 652 if (it != idx.end()) {
- 653 const_cast<optional<packet_variant>&
>(it->pv).emplace(p);
-
-
-
-
- 658 [&](unsuback_packet& p) {
- 659 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
- 660 auto it = idx.find(p.packet_id());
- 661 if (it != idx.end()) {
- 662 const_cast<optional<packet_variant>&
>(it->pv).emplace(p);
-
-
-
-
- 667 [&](publish_packet& p) {
- 668 recv_queue_.emplace_back(force_move(p));
- 669 tim_notify_publish_recv_.cancel();
-
-
- 672 [&](puback_packet& p) {
- 673 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
- 674 auto it = idx.find(p.packet_id());
- 675 if (it != idx.end()) {
- 676 const_cast<optional<puback_packet>&
>(it->res.puback_opt).emplace(p);
-
-
-
-
- 681 [&](pubrec_packet& p) {
- 682 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
- 683 auto it = idx.find(p.packet_id());
- 684 if (it != idx.end()) {
- 685 const_cast<optional<pubrec_packet>&
>(it->res.pubrec_opt).emplace(p);
- 686 if constexpr (Version == protocol_version::v5) {
- 687 if (is_error(p.code())) {
-
-
-
-
-
-
- 694 [&](pubcomp_packet& p) {
- 695 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
- 696 auto it = idx.find(p.packet_id());
- 697 if (it != idx.end()) {
- 698 const_cast<optional<pubcomp_packet>&
>(it->res.pubcomp_opt).emplace(p);
-
-
-
-
- 703 [&](disconnect_packet& p) {
- 704 recv_queue_.emplace_back(force_move(p));
- 705 tim_notify_publish_recv_.cancel();
-
-
- 708 [&](system_error
const& se) {
- 709 recv_queue_.emplace_back(se.code());
- 710 tim_notify_publish_recv_.cancel();
-
-
-
-
-
-
-
-
-
-
-
-
- 723 struct pid_tim_pv_res {
-
-
- 726 std::shared_ptr<as::steady_timer> tim
-
-
-
-
-
- 732 std::shared_ptr<as::steady_timer> tim
- 733 ): tim{force_move(tim)}
-
-
-
- 737 std::shared_ptr<as::steady_timer> tim;
- 738 optional<packet_variant> pv;
-
-
-
-
-
- 744 using mi_pid_tim_pv_res = mi::multi_index_container<
-
-
-
-
- 749 mi::key<&pid_tim_pv_res::pid>
-
-
-
- 753 mi::key<&pid_tim_pv_res::tim>
-
-
-
+
+
+ 165 errc::make_error_code(sys::errc::protocol_error),
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 186 template <
typename CompletionToken>
+
+
+
188 subscribe_packet packet,
+
+
+
191 return as::async_initiate<
+
+
+
+
+
+
197 subscribe_packet&& packet
+
+
199 auto pid = packet.packet_id();
+
+
+
+
203 (
auto const&
se)
mutable {
+
+
+
+
+
208 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
+
209 tim->expires_at(std::chrono::steady_clock::time_point::max());
+
210 pid_tim_pv_res_col_.emplace(pid, tim);
+
+
+
213 (error_code
const& )
mutable {
+
+
215 auto it =
idx.find(tim);
+
216 if (
it ==
idx.end()) {
+
+
218 errc::make_error_code(sys::errc::operation_canceled),
+
+
+
+
+
+
+
+
+
+
+
+
230 errc::make_error_code(sys::errc::protocol_error),
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 251 template <
typename CompletionToken>
+
+
+
253 unsubscribe_packet packet,
+
+
+
256 return as::async_initiate<
+
+
+
+
+
+
262 unsubscribe_packet&& packet
+
+
264 auto pid = packet.packet_id();
+
+
+
+
268 (
auto const&
se)
mutable {
+
+
+
+
+
273 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
+
274 tim->expires_at(std::chrono::steady_clock::time_point::max());
+
275 pid_tim_pv_res_col_.emplace(pid, tim);
+
+
+
278 (error_code
const& )
mutable {
+
+
280 auto it =
idx.find(tim);
+
281 if (
it ==
idx.end()) {
+
+
283 errc::make_error_code(sys::errc::operation_canceled),
+
+
+
+
+
+
+
+
+
+
+
+
295 errc::make_error_code(sys::errc::protocol_error),
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 319 template <
typename CompletionToken>
+
+
+
321 publish_packet packet,
+
+
+
324 return as::async_initiate<
+
+
+
+
+
+
330 publish_packet&& packet
+
+
332 auto pid = packet.packet_id();
+
+
+
+
336 (
auto const&
se)
mutable {
+
+
+
+
+
341 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
+
342 tim->expires_at(std::chrono::steady_clock::time_point::max());
+
+
+
+
+
+
348 pid_tim_pv_res_col_.emplace(pid, tim);
+
+
+
351 (error_code
const& )
mutable {
+
+
353 auto it =
idx.find(tim);
+
354 if (
it ==
idx.end()) {
+
+
356 errc::make_error_code(sys::errc::operation_canceled),
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 381 template <
typename CompletionToken>
+
+
+
383 disconnect_packet packet,
+
+
+
386 return as::async_initiate<
+
+
388 void(error_code
const& ec)
+
+
+
+
392 disconnect_packet&& packet
+
+
+
+
+
397 (
auto const&
se)
mutable {
+
+
+
+
+
+
+
+
+
+
+ 412 template<
typename CompletionToken>
+
+
+
+
415 return ep_->close(std::forward<CompletionToken>(
token));
+
+
+
+ 424 template <
typename CompletionToken>
+
+
+
+
+
428 return as::async_initiate<
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
444 auto [ec, publish_opt, disconnect_opt] = recv_queue_.front();
+
445 recv_queue_.pop_front();
+
+
+
448 force_move(publish_opt),
+
449 force_move(disconnect_opt)
+
+
+
+
+
454 errc::make_error_code(sys::errc::operation_canceled),
+
+
+
+
+
+
460 if (recv_queue_.empty()) {
+
461 recv_queue_inserted_ =
false;
+
462 auto tim = std::make_shared<as::steady_timer>(ep_->strand());
+
463 tim_notify_publish_recv_.expires_at(std::chrono::steady_clock::time_point::max());
+
464 tim_notify_publish_recv_.async_wait(
+
+
466 (error_code
const& )
mutable {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
487 return get_inner_executor(ep_->strand());
+
+
+
+
+
+
495 return ep_->strand();
+
+
+
+
+
+
503 return ep_->strand();
+
+
+
+
+
+
511 return ep_->in_strand();
+
+
+
+
+
+
519 return ep_->next_layer();
+
+
+
+
+
526 return ep_->next_layer();
+
+
+
+
+
+
534 return ep_->lowest_layer();
+
+
+
+
+
541 return ep_->lowest_layer();
+
+
+
+
+
+
552 ep_->set_auto_map_topic_alias_send(val);
+
+
+
+
+
+
563 ep_->set_auto_replace_topic_alias_send(val);
+
+
+
+
+
+
576 ep_->set_pingresp_recv_timeout_ms(
ms);
+
+
+
+
+
+
589 ep_->set_bulk_write(val);
+
+
+
+ 597 template <
typename CompletionToken>
+
+
+
599 return ep_->acquire_unique_packet_id(std::forward<CompletionToken>(
token));
+
+
+
+ 608 template <
typename CompletionToken>
+
+
+
+
+
+
613 return ep_->acquire_unique_packet_id_wait_until(std::forward<CompletionToken>(
token));
+
+
+
+ 622 template <
typename CompletionToken>
+
+
+
624 return ep_->register_packet_id(pid, std::forward<CompletionToken>(
token));
+
+
+
+ 633 template <
typename CompletionToken>
+
+
+
635 return ep_->release_packet_id(pid, std::forward<CompletionToken>(
token));
+
+
+
+
+
+
644 return ep_->acquire_unique_packet_id();
+
+
+
+
+
+
654 return ep_->register_packet_id(pid);
+
+
+
+
+
+
663 ep_->release_packet_id(pid);
+
+
+
+
+
+
+
+
+ 671 (packet_variant pv)
mutable {
+
+
+ 674 [&](connack_packet& p) {
+
+ 676 auto it =
idx.find(0);
+ 677 if (
it !=
idx.end()) {
+
+
+
+
+
+ 683 [&](suback_packet& p) {
+ 684 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
+ 685 auto it = idx.find(p.packet_id());
+ 686 if (it != idx.end()) {
+ 687 const_cast<optional<packet_variant>&
>(it->pv).emplace(p);
+
+
+
+
+ 692 [&](unsuback_packet& p) {
+ 693 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
+ 694 auto it = idx.find(p.packet_id());
+ 695 if (it != idx.end()) {
+ 696 const_cast<optional<packet_variant>&
>(it->pv).emplace(p);
+
+
+
+
+ 701 [&](publish_packet& p) {
+ 702 recv_queue_.emplace_back(force_move(p));
+ 703 recv_queue_inserted_ =
true;
+ 704 tim_notify_publish_recv_.cancel();
+
+
+ 707 [&](puback_packet& p) {
+ 708 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
+ 709 auto it = idx.find(p.packet_id());
+ 710 if (it != idx.end()) {
+ 711 const_cast<optional<puback_packet>&
>(it->res.puback_opt).emplace(p);
+
+
+
+
+ 716 [&](pubrec_packet& p) {
+ 717 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
+ 718 auto it = idx.find(p.packet_id());
+ 719 if (it != idx.end()) {
+ 720 const_cast<optional<pubrec_packet>&
>(it->res.pubrec_opt).emplace(p);
+ 721 if constexpr (Version == protocol_version::v5) {
+ 722 if (is_error(p.code())) {
+
+
+
+
+
+
+ 729 [&](pubcomp_packet& p) {
+ 730 auto& idx = pid_tim_pv_res_col_.template get<tag_pid>();
+ 731 auto it = idx.find(p.packet_id());
+ 732 if (it != idx.end()) {
+ 733 const_cast<optional<pubcomp_packet>&
>(it->res.pubcomp_opt).emplace(p);
+
+
+
+
+ 738 [&](disconnect_packet& p) {
+ 739 recv_queue_.emplace_back(force_move(p));
+ 740 recv_queue_inserted_ =
true;
+ 741 tim_notify_publish_recv_.cancel();
+
+
+ 744 [&](system_error
const& se) {
+ 745 recv_queue_.emplace_back(se.code());
+ 746 recv_queue_inserted_ =
true;
+ 747 tim_notify_publish_recv_.cancel();
+
+
+
+
+
+
+
+
+
-
- 759 recv_t(publish_packet packet)
- 760 :publish_opt{force_move(packet)}
-
-
- 763 recv_t(disconnect_packet packet)
- 764 :disconnect_opt{force_move(packet)}
-
-
- 767 recv_t(error_code ec)
-
-
-
- 771 error_code ec = error_code{};
- 772 optional<publish_packet> publish_opt;
- 773 optional<disconnect_packet> disconnect_opt;
-
-
-
- 777 mi_pid_tim_pv_res pid_tim_pv_res_col_;
- 778 std::deque<recv_t> recv_queue_;
- 779 as::steady_timer tim_notify_publish_recv_{ep_->strand()};
-
-
-
-
- 789template <protocol_version Version,
typename NextLayer>
-
-
- 798template <protocol_version Version,
typename NextLayer>
-
-
-
-
-
+
+
+ 760 struct pid_tim_pv_res {
+
+
+ 763 std::shared_ptr<as::steady_timer> tim
+
+
+
+
+
+ 769 std::shared_ptr<as::steady_timer> tim
+ 770 ): tim{force_move(tim)}
+
+
+
+ 774 std::shared_ptr<as::steady_timer> tim;
+ 775 optional<packet_variant> pv;
+
+
+
+
+
+ 781 using mi_pid_tim_pv_res = mi::multi_index_container<
+
+
+
+
+ 786 mi::key<&pid_tim_pv_res::pid>
+
+
+
+ 790 mi::key<&pid_tim_pv_res::tim>
+
+
+
+
+
+ 796 recv_t(publish_packet packet)
+ 797 :publish_opt{force_move(packet)}
+
+
+ 800 recv_t(disconnect_packet packet)
+ 801 :disconnect_opt{force_move(packet)}
+
+
+ 804 recv_t(error_code ec)
+
+
+
+ 808 error_code ec = error_code{};
+ 809 optional<publish_packet> publish_opt;
+ 810 optional<disconnect_packet> disconnect_opt;
+
+
+
+ 814 mi_pid_tim_pv_res pid_tim_pv_res_col_;
+ 815 std::deque<recv_t> recv_queue_;
+ 816 bool recv_queue_inserted_ =
false;
+ 817 as::steady_timer tim_notify_publish_recv_{ep_->strand()};
+
+
+
+
+ 827template <protocol_version Version,
typename NextLayer>
+
+
+ 836template <protocol_version Version,
typename NextLayer>
+
+
+
+
+
MQTT client for casual usecases.
Definition client.hpp:64
-auto const & lowest_layer() const
lowest_layer getter
Definition client.hpp:499
-auto unsubscribe(unsubscribe_packet packet, CompletionToken &&token)
send UNSUBSCRIBE packet
Definition client.hpp:240
-void release_packet_id(packet_id_t pid)
release packet_id.
Definition client.hpp:628
-auto disconnect(disconnect_packet packet, CompletionToken &&token)
send DISCONNECT packet
Definition client.hpp:358
-auto const & next_layer() const
next_layer getter
Definition client.hpp:484
-auto & next_layer()
next_layer getter
Definition client.hpp:491
-strand_type const & strand() const
strand getter
Definition client.hpp:460
-auto close(CompletionToken &&token)
close the underlying connection
Definition client.hpp:390
-void set_auto_replace_topic_alias_send(bool val)
auto replace topic with corresponding topic alias on send PUBLISH packet. Registering topic alias nee...
Definition client.hpp:528
-strand_type & strand()
strand getter
Definition client.hpp:468
-bool register_packet_id(packet_id_t pid)
register packet_id.
Definition client.hpp:619
+auto const & lowest_layer() const
lowest_layer getter
Definition client.hpp:533
+auto unsubscribe(unsubscribe_packet packet, CompletionToken &&token)
send UNSUBSCRIBE packet
Definition client.hpp:252
+void release_packet_id(packet_id_t pid)
release packet_id.
Definition client.hpp:662
+auto disconnect(disconnect_packet packet, CompletionToken &&token)
send DISCONNECT packet
Definition client.hpp:382
+auto const & next_layer() const
next_layer getter
Definition client.hpp:518
+auto & next_layer()
next_layer getter
Definition client.hpp:525
+strand_type const & strand() const
strand getter
Definition client.hpp:494
+auto close(CompletionToken &&token)
close the underlying connection
Definition client.hpp:414
+void set_auto_replace_topic_alias_send(bool val)
auto replace topic with corresponding topic alias on send PUBLISH packet. Registering topic alias nee...
Definition client.hpp:562
+strand_type & strand()
strand getter
Definition client.hpp:502
+bool register_packet_id(packet_id_t pid)
register packet_id.
Definition client.hpp:653
auto start(connect_packet packet, CompletionToken &&token)
send CONNECT packet and start packet receive loop
Definition client.hpp:122
-auto register_packet_id(packet_id_t pid, CompletionToken &&token)
acuire unique packet_id. If packet_id is fully acquired, then wait until released.
Definition client.hpp:589
-as::any_io_executor get_executor() const
executor getter
Definition client.hpp:452
-auto & lowest_layer()
lowest_layer getter
Definition client.hpp:506
-bool in_strand() const
strand checker
Definition client.hpp:476
-auto release_packet_id(packet_id_t pid, CompletionToken &&token)
register packet_id.
Definition client.hpp:600
-auto acquire_unique_packet_id(CompletionToken &&token)
acuire unique packet_id.
Definition client.hpp:564
-auto recv(CompletionToken &&token)
receive PUBLISH or DISCONNECT packet users CANNOT call recv() before the previous recv()'s Completion...
Definition client.hpp:401
+auto register_packet_id(packet_id_t pid, CompletionToken &&token)
acuire unique packet_id. If packet_id is fully acquired, then wait until released.
Definition client.hpp:623
+as::any_io_executor get_executor() const
executor getter
Definition client.hpp:486
+auto & lowest_layer()
lowest_layer getter
Definition client.hpp:540
+bool in_strand() const
strand checker
Definition client.hpp:510
+auto release_packet_id(packet_id_t pid, CompletionToken &&token)
register packet_id.
Definition client.hpp:634
+auto acquire_unique_packet_id(CompletionToken &&token)
acuire unique packet_id.
Definition client.hpp:598
+auto recv(CompletionToken &&token)
receive PUBLISH or DISCONNECT packet users CANNOT call recv() before the previous recv()'s Completion...
Definition client.hpp:425
basic_client(Args &&... args)
constructor
Definition client.hpp:106
-auto publish(publish_packet packet, CompletionToken &&token)
send PUBLISH packet
Definition client.hpp:302
-void set_auto_map_topic_alias_send(bool val)
auto map (allocate) topic alias on send PUBLISH packet. If all topic aliases are used,...
Definition client.hpp:517
-optional< packet_id_t > acquire_unique_packet_id()
acuire unique packet_id.
Definition client.hpp:609
-void set_bulk_write(bool val)
Set bulk write mode. If true, then concatenate multiple packets' const buffer sequence when send() is...
Definition client.hpp:554
-void set_pingresp_recv_timeout_ms(std::size_t ms)
Set timeout for receiving PINGRESP packet after PINGREQ packet is sent. If the timer is fired,...
Definition client.hpp:541
-auto subscribe(subscribe_packet packet, CompletionToken &&token)
send SUBSCRIBE packet
Definition client.hpp:181
-auto acquire_unique_packet_id_wait_until(CompletionToken &&token)
acuire unique packet_id. If packet_id is fully acquired, then wait until released.
Definition client.hpp:576
+auto publish(publish_packet packet, CompletionToken &&token)
send PUBLISH packet
Definition client.hpp:320
+void set_auto_map_topic_alias_send(bool val)
auto map (allocate) topic alias on send PUBLISH packet. If all topic aliases are used,...
Definition client.hpp:551
+optional< packet_id_t > acquire_unique_packet_id()
acuire unique packet_id.
Definition client.hpp:643
+void set_bulk_write(bool val)
Set bulk write mode. If true, then concatenate multiple packets' const buffer sequence when send() is...
Definition client.hpp:588
+void set_pingresp_recv_timeout_ms(std::size_t ms)
Set timeout for receiving PINGRESP packet after PINGREQ packet is sent. If the timer is fired,...
Definition client.hpp:575
+auto subscribe(subscribe_packet packet, CompletionToken &&token)
send SUBSCRIBE packet
Definition client.hpp:187
+auto acquire_unique_packet_id_wait_until(CompletionToken &&token)
acuire unique packet_id. If packet_id is fully acquired, then wait until released.
Definition client.hpp:610
Definition packet_variant.hpp:49
publish completion handler parameter class
Definition client.hpp:92
diff --git a/doc/api/connect__flags_8hpp_source.html b/doc/api/connect__flags_8hpp_source.html
index cf71adb2e..e05d02909 100644
--- a/doc/api/connect__flags_8hpp_source.html
+++ b/doc/api/connect__flags_8hpp_source.html
@@ -28,7 +28,7 @@