Added SimpleWeb::post to asio_compability.hpp

This commit is contained in:
eidheim 2019-12-29 10:55:57 +01:00
commit ac6bea58ff
2 changed files with 10 additions and 2 deletions

View file

@ -32,6 +32,10 @@ namespace SimpleWeb {
using resolver_results = asio::ip::tcp::resolver::results_type; using resolver_results = asio::ip::tcp::resolver::results_type;
using async_connect_endpoint = asio::ip::tcp::endpoint; using async_connect_endpoint = asio::ip::tcp::endpoint;
template <typename handler_type>
inline void post(io_context &context, handler_type &&handler) {
asio::post(context, std::forward<handler_type>(handler));
}
inline void restart(io_context &context) noexcept { inline void restart(io_context &context) noexcept {
context.restart(); context.restart();
} }
@ -51,6 +55,10 @@ namespace SimpleWeb {
using resolver_results = asio::ip::tcp::resolver::iterator; using resolver_results = asio::ip::tcp::resolver::iterator;
using async_connect_endpoint = asio::ip::tcp::resolver::iterator; using async_connect_endpoint = asio::ip::tcp::resolver::iterator;
template <typename handler_type>
inline void post(io_context &context, handler_type &&handler) {
context.post(std::forward<handler_type>(handler));
}
inline void restart(io_context &context) noexcept { inline void restart(io_context &context) noexcept {
context.reset(); context.reset();
} }

View file

@ -442,7 +442,7 @@ namespace SimpleWeb {
restart(*io_service); restart(*io_service);
if(callback) if(callback)
io_service->post(std::move(callback)); post(*io_service, std::move(callback));
// If thread_pool_size>1, start m_io_service.run() in (thread_pool_size-1) threads for thread-pooling // If thread_pool_size>1, start m_io_service.run() in (thread_pool_size-1) threads for thread-pooling
threads.clear(); threads.clear();
@ -461,7 +461,7 @@ namespace SimpleWeb {
t.join(); t.join();
} }
else if(callback) else if(callback)
io_service->post(std::move(callback)); post(*io_service, std::move(callback));
} }
/// Start the server by calling bind() and accept_and_run(). /// Start the server by calling bind() and accept_and_run().