diff options
author | eidheim <eidheim@gmail.com> | 2020-08-26 12:45:30 +0300 |
---|---|---|
committer | eidheim <eidheim@gmail.com> | 2020-08-26 12:45:30 +0300 |
commit | a7b227bdbed7ec2e74565772d63e61ae11106d56 (patch) | |
tree | b56ae4ee7574e91c31f9923a6aca19507014c769 | |
parent | 84ebe12828cfe2508dce0c523fab3c867741e602 (diff) |
Fixed compilation issues for older (boost.)asio versions
-rw-r--r-- | asio_compatibility.hpp | 10 | ||||
-rw-r--r-- | client_ws.hpp | 2 | ||||
-rw-r--r-- | server_ws.hpp | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/asio_compatibility.hpp b/asio_compatibility.hpp index 3d2df07..c2e0b66 100644 --- a/asio_compatibility.hpp +++ b/asio_compatibility.hpp @@ -43,8 +43,8 @@ namespace SimpleWeb { return asio::ip::make_address(str); } template <typename socket_type, typename duration_type> - asio::steady_timer make_steady_timer(socket_type &socket, std::chrono::duration<duration_type> duration) { - return asio::steady_timer(socket.get_executor(), duration); + std::unique_ptr<asio::steady_timer> make_steady_timer(socket_type &socket, std::chrono::duration<duration_type> duration) { + return std::unique_ptr<asio::steady_timer>(new asio::steady_timer(socket.get_executor(), duration)); } template <typename handler_type> void async_resolve(asio::ip::tcp::resolver &resolver, const std::pair<std::string, std::string> &host_port, handler_type &&handler) { @@ -68,9 +68,9 @@ namespace SimpleWeb { inline asio::ip::address make_address(const std::string &str) noexcept { return asio::ip::address::from_string(str); } - template <typename socket_type> - io_context &get_socket_executor(socket_type &socket) { - return socket.get_io_service(); + template <typename socket_type, typename duration_type> + std::unique_ptr<asio::steady_timer> make_steady_timer(socket_type &socket, std::chrono::duration<duration_type> duration) { + return std::unique_ptr<asio::steady_timer>(new asio::steady_timer(socket.get_io_service(), duration)); } template <typename handler_type> void async_resolve(asio::ip::tcp::resolver &resolver, const std::pair<std::string, std::string> &host_port, handler_type &&handler) { diff --git a/client_ws.hpp b/client_ws.hpp index 3448c3a..72d8d9e 100644 --- a/client_ws.hpp +++ b/client_ws.hpp @@ -106,7 +106,7 @@ namespace SimpleWeb { return; } - timer = std::unique_ptr<asio::steady_timer>(new asio::steady_timer(make_steady_timer(*socket, std::chrono::seconds(seconds)))); + timer = make_steady_timer(*socket, std::chrono::seconds(seconds)); std::weak_ptr<Connection> connection_weak(this->shared_from_this()); // To avoid keeping Connection instance alive longer than needed timer->async_wait([connection_weak, use_timeout_idle](const error_code &ec) { if(!ec) { diff --git a/server_ws.hpp b/server_ws.hpp index 90379ae..071a492 100644 --- a/server_ws.hpp +++ b/server_ws.hpp @@ -160,7 +160,7 @@ namespace SimpleWeb { return; } - timer = std::unique_ptr<asio::steady_timer>(new asio::steady_timer(make_steady_timer(*socket, std::chrono::seconds(seconds)))); + timer = make_steady_timer(*socket, std::chrono::seconds(seconds)); std::weak_ptr<Connection> connection_weak(this->shared_from_this()); // To avoid keeping Connection instance alive longer than needed timer->async_wait([connection_weak](const error_code &ec) { if(!ec) { |