diff --git a/include/async_mqtt5/impl/endpoints.hpp b/include/async_mqtt5/impl/endpoints.hpp index 417e088..f9e08be 100644 --- a/include/async_mqtt5/impl/endpoints.hpp +++ b/include/async_mqtt5/impl/endpoints.hpp @@ -67,7 +67,7 @@ public: authority_path ap = _owner._servers[_owner._current_host]; - _owner._connect_timer.expires_from_now(std::chrono::seconds(5)); + _owner._connect_timer.expires_after(std::chrono::seconds(5)); auto timed_resolve = asioex::make_parallel_group( _owner._resolver.async_resolve(ap.host, ap.port, asio::deferred), diff --git a/include/async_mqtt5/impl/ping_op.hpp b/include/async_mqtt5/impl/ping_op.hpp index ddeed8b..b8abd05 100644 --- a/include/async_mqtt5/impl/ping_op.hpp +++ b/include/async_mqtt5/impl/ping_op.hpp @@ -60,7 +60,7 @@ public: } void perform() { - _ping_timer->expires_from_now(compute_wait_time()); + _ping_timer->expires_after(compute_wait_time()); _ping_timer->async_wait( asio::prepend(std::move(*this), on_timer {}) ); diff --git a/include/async_mqtt5/impl/read_op.hpp b/include/async_mqtt5/impl/read_op.hpp index 1071644..9774094 100644 --- a/include/async_mqtt5/impl/read_op.hpp +++ b/include/async_mqtt5/impl/read_op.hpp @@ -50,7 +50,7 @@ public: auto stream_ptr = _owner._stream_ptr; if (_owner.was_connected()) { - _owner._read_timer.expires_from_now(wait_for); + _owner._read_timer.expires_after(wait_for); auto timed_read = asioex::make_parallel_group( stream_ptr->async_read_some(buffer, asio::deferred), diff --git a/include/async_mqtt5/impl/reconnect_op.hpp b/include/async_mqtt5/impl/reconnect_op.hpp index d32e5bb..be3d3de 100644 --- a/include/async_mqtt5/impl/reconnect_op.hpp +++ b/include/async_mqtt5/impl/reconnect_op.hpp @@ -112,7 +112,7 @@ public: } void backoff_and_reconnect() { - _owner._connect_timer.expires_from_now(_generator.generate()); + _owner._connect_timer.expires_after(_generator.generate()); _owner._connect_timer.async_wait( asio::prepend(std::move(*this), on_backoff {}) ); @@ -151,7 +151,7 @@ public: ); // wait max 5 seconds for the connect (handshake) op to finish - _owner._connect_timer.expires_from_now(std::chrono::seconds(5)); + _owner._connect_timer.expires_after(std::chrono::seconds(5)); auto init_connect = []( auto handler, typename Owner::stream_type& stream, diff --git a/test/include/test_common/delayed_op.hpp b/test/include/test_common/delayed_op.hpp index bfb4bd4..f332fb1 100644 --- a/test/include/test_common/delayed_op.hpp +++ b/test/include/test_common/delayed_op.hpp @@ -62,7 +62,7 @@ public: void perform(CompletionHandler&& handler) { _cancel_slot = asio::get_associated_cancellation_slot(handler); - _timer->expires_from_now(_delay); + _timer->expires_after(_delay); _timer->async_wait( asio::prepend(std::move(*this), on_timer {}, std::move(handler)) ); diff --git a/test/include/test_common/packet_util.hpp b/test/include/test_common/packet_util.hpp index 644411d..d1bc14e 100644 --- a/test/include/test_common/packet_util.hpp +++ b/test/include/test_common/packet_util.hpp @@ -6,6 +6,8 @@ #include +#include + #include #include @@ -358,11 +360,17 @@ inline std::string to_readable_packet(std::string packet) { template std::vector to_readable_packets(const ConstBufferSequence& buffers) { + namespace asio = boost::asio; + std::vector content; - for (const auto& buff : buffers) + for ( + auto it = asio::buffer_sequence_begin(buffers); + it != asio::buffer_sequence_end(buffers); + it++ + ) content.push_back( - to_readable_packet(std::string { (const char*) buff.data(), buff.size() }) + to_readable_packet(std::string { (const char*)it->data(), it->size() }) ); return content; diff --git a/test/include/test_common/test_broker.hpp b/test/include/test_common/test_broker.hpp index 8062076..bc26e16 100644 --- a/test/include/test_common/test_broker.hpp +++ b/test/include/test_common/test_broker.hpp @@ -36,7 +36,7 @@ class pending_read { public: template pending_read(const MutableBuffer& buffer, Handler&& handler) : - _buffer_data(asio::buffer_cast(buffer)), + _buffer_data(buffer.data()), _buffer_size(buffer.size()), _handler(std::move(handler)) {} @@ -133,8 +133,9 @@ public: auto reply_action = _broker_side.pop_reply_action(); size_t bytes_written = std::accumulate( - std::begin(buffers), std::end(buffers), size_t(0), - [](size_t a, const auto& b) { return a + b.size(); } + asio::buffer_sequence_begin(buffers), + asio::buffer_sequence_end(buffers), + size_t(0), [](size_t a, const auto& b) { return a + b.size(); } ); executor_type ex = get_executor(); @@ -143,12 +144,12 @@ public: const auto& expected = reply_action->expected_packets(); size_t buffers_size = std::distance( - buffers.begin(), buffers.end() + asio::buffer_sequence_begin(buffers), asio::buffer_sequence_end(buffers) ); BOOST_CHECK_EQUAL(buffers_size, expected.size()); size_t num_packets = std::min(buffers_size, expected.size()); - auto it = buffers.begin(); + auto it = asio::buffer_sequence_begin(buffers); for (size_t i = 0; i < num_packets; ++i, ++it) { BOOST_CHECK_EQUAL(it->size(), expected[i].size()); size_t len = std::min(it->size(), expected[i].size());