diff --git a/include/async_mqtt5/detail/control_packet.hpp b/include/async_mqtt5/detail/control_packet.hpp index 863a750..ff61bf8 100644 --- a/include/async_mqtt5/detail/control_packet.hpp +++ b/include/async_mqtt5/detail/control_packet.hpp @@ -105,7 +105,7 @@ public: return *this; } - const std::string& wire_data() const { + std::string_view wire_data() const { return *_packet; } }; diff --git a/include/async_mqtt5/impl/connect_op.hpp b/include/async_mqtt5/impl/connect_op.hpp index 73d94ed..a993f34 100644 --- a/include/async_mqtt5/impl/connect_op.hpp +++ b/include/async_mqtt5/impl/connect_op.hpp @@ -199,7 +199,7 @@ public: 10u, false, _ctx.co_props, _ctx.will_msg ); - const auto& wire_data = packet.wire_data(); + auto wire_data = packet.wire_data(); detail::async_write( _stream, asio::buffer(wire_data), @@ -349,7 +349,7 @@ public: reason_codes::continue_authentication.value(), props ); - const auto& wire_data = packet.wire_data(); + auto wire_data = packet.wire_data(); detail::async_write( _stream, asio::buffer(wire_data), diff --git a/include/async_mqtt5/impl/disconnect_op.hpp b/include/async_mqtt5/impl/disconnect_op.hpp index bf1c5bd..67d6ecd 100644 --- a/include/async_mqtt5/impl/disconnect_op.hpp +++ b/include/async_mqtt5/impl/disconnect_op.hpp @@ -86,7 +86,7 @@ public: } void send_disconnect(control_packet disconnect) { - const auto& wire_data = disconnect.wire_data(); + auto wire_data = disconnect.wire_data(); _svc_ptr->async_send( wire_data, no_serial, send_flag::terminal, diff --git a/include/async_mqtt5/impl/ping_op.hpp b/include/async_mqtt5/impl/ping_op.hpp index b52849a..109466a 100644 --- a/include/async_mqtt5/impl/ping_op.hpp +++ b/include/async_mqtt5/impl/ping_op.hpp @@ -70,7 +70,7 @@ public: no_pid, get_allocator(), encoders::encode_pingreq ); - const auto& wire_data = pingreq.wire_data(); + auto wire_data = pingreq.wire_data(); _svc_ptr->async_send( wire_data, no_serial, send_flag::none, diff --git a/include/async_mqtt5/impl/publish_rec_op.hpp b/include/async_mqtt5/impl/publish_rec_op.hpp index 67ff17a..56d349a 100644 --- a/include/async_mqtt5/impl/publish_rec_op.hpp +++ b/include/async_mqtt5/impl/publish_rec_op.hpp @@ -87,7 +87,7 @@ public: } void send_puback(control_packet puback) { - const auto& wire_data = puback.wire_data(); + auto wire_data = puback.wire_data(); _svc_ptr->async_send( wire_data, no_serial, send_flag::none, @@ -106,7 +106,7 @@ public: } void send_pubrec(control_packet pubrec) { - const auto& wire_data = pubrec.wire_data(); + auto wire_data = pubrec.wire_data(); _svc_ptr->async_send( wire_data, no_serial, send_flag::none, @@ -163,7 +163,7 @@ public: } void send_pubcomp(control_packet pubcomp) { - const auto& wire_data = pubcomp.wire_data(); + auto wire_data = pubcomp.wire_data(); _svc_ptr->async_send( wire_data, no_serial, send_flag::none, diff --git a/include/async_mqtt5/impl/publish_send_op.hpp b/include/async_mqtt5/impl/publish_send_op.hpp index d9903fa..ef48146 100644 --- a/include/async_mqtt5/impl/publish_send_op.hpp +++ b/include/async_mqtt5/impl/publish_send_op.hpp @@ -136,7 +136,7 @@ public: return; } - const auto& wire_data = publish.wire_data(); + auto wire_data = publish.wire_data(); _svc_ptr->async_send( wire_data, _serial_num, @@ -266,7 +266,7 @@ public: } void send_pubrel(control_packet pubrel, bool throttled) { - const auto& wire_data = pubrel.wire_data(); + auto wire_data = pubrel.wire_data(); _svc_ptr->async_send( wire_data, _serial_num, diff --git a/include/async_mqtt5/impl/re_auth_op.hpp b/include/async_mqtt5/impl/re_auth_op.hpp index f0c5cb9..5ea1a8e 100644 --- a/include/async_mqtt5/impl/re_auth_op.hpp +++ b/include/async_mqtt5/impl/re_auth_op.hpp @@ -108,7 +108,7 @@ public: rc.value(), props ); - const auto& wire_data = packet.wire_data(); + auto wire_data = packet.wire_data(); _svc_ptr->async_send( wire_data, diff --git a/include/async_mqtt5/impl/subscribe_op.hpp b/include/async_mqtt5/impl/subscribe_op.hpp index babfead..cde4355 100644 --- a/include/async_mqtt5/impl/subscribe_op.hpp +++ b/include/async_mqtt5/impl/subscribe_op.hpp @@ -94,7 +94,7 @@ public: if (_handler.empty()) // already cancelled return _svc_ptr->free_pid(subscribe.packet_id()); - const auto& wire_data = subscribe.wire_data(); + auto wire_data = subscribe.wire_data(); _svc_ptr->async_send( wire_data, no_serial, send_flag::none, diff --git a/include/async_mqtt5/impl/unsubscribe_op.hpp b/include/async_mqtt5/impl/unsubscribe_op.hpp index 4fd5985..b5f72a1 100644 --- a/include/async_mqtt5/impl/unsubscribe_op.hpp +++ b/include/async_mqtt5/impl/unsubscribe_op.hpp @@ -90,7 +90,7 @@ public: if (_handler.empty()) // already cancelled return _svc_ptr->free_pid(unsubscribe.packet_id()); - const auto& wire_data = unsubscribe.wire_data(); + auto wire_data = unsubscribe.wire_data(); _svc_ptr->async_send( wire_data, no_serial, send_flag::none,