diff --git a/CHANGELOG.md b/CHANGELOG.md index 826b9cf4..a80f71d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Version 163: + +* Tidy up calls to post() + +-------------------------------------------------------------------------------- + Version 162: * Add asio_handler_invoke overloads for stream algorithms diff --git a/example/common/detect_ssl.hpp b/example/common/detect_ssl.hpp index 6fd1d654..388b9cce 100644 --- a/example/common/detect_ssl.hpp +++ b/example/common/detect_ssl.hpp @@ -413,7 +413,6 @@ operator()(boost::beast::error_code ec, std::size_t bytes_transferred) // original handler. BOOST_ASIO_CORO_YIELD boost::asio::post( - stream_.get_executor(), beast::bind_handler(std::move(*this), ec, 0)); } else diff --git a/include/boost/beast/core/impl/buffered_read_stream.ipp b/include/boost/beast/core/impl/buffered_read_stream.ipp index 1ae76b4d..76f33f77 100644 --- a/include/boost/beast/core/impl/buffered_read_stream.ipp +++ b/include/boost/beast/core/impl/buffered_read_stream.ipp @@ -121,7 +121,6 @@ read_some_op::operator()( } step_ = 3; return boost::asio::post( - s_.get_executor(), bind_handler(std::move(*this), ec, 0)); case 1: diff --git a/include/boost/beast/http/impl/read.ipp b/include/boost/beast/http/impl/read.ipp index 28ff0a3c..e669a2fd 100644 --- a/include/boost/beast/http/impl/read.ipp +++ b/include/boost/beast/http/impl/read.ipp @@ -170,10 +170,11 @@ operator()( upcall: if(! cont_) - return boost::asio::post( - s_.get_executor(), - bind_handler(std::move(h_), - ec, bytes_transferred_)); + { + BOOST_ASIO_CORO_YIELD + boost::asio::post( + bind_handler(std::move(*this), ec)); + } h_(ec, bytes_transferred_); } } @@ -290,7 +291,7 @@ operator()( if(Condition{}(p_)) { BOOST_ASIO_CORO_YIELD - boost::asio::post(s_.get_executor(), + boost::asio::post( bind_handler(std::move(*this), ec)); goto upcall; } diff --git a/include/boost/beast/http/impl/write.ipp b/include/boost/beast/http/impl/write.ipp index af31cd9b..833bab64 100644 --- a/include/boost/beast/http/impl/write.ipp +++ b/include/boost/beast/http/impl/write.ipp @@ -140,7 +140,6 @@ operator()() { BOOST_ASSERT(! f.invoked); return boost::asio::post( - s_.get_executor(), bind_handler(std::move(*this), ec, 0)); } if(f.invoked) @@ -153,7 +152,6 @@ operator()() BOOST_ASSERT(sr_.is_done()); } return boost::asio::post( - s_.get_executor(), bind_handler(std::move(*this), ec, 0)); } @@ -284,7 +282,6 @@ operator()( { state_ = 1; return boost::asio::post( - s_.get_executor(), bind_handler(std::move(*this), ec, 0)); } state_ = 2; diff --git a/include/boost/beast/websocket/impl/accept.ipp b/include/boost/beast/websocket/impl/accept.ipp index 9daf7b31..f000f3bf 100644 --- a/include/boost/beast/websocket/impl/accept.ipp +++ b/include/boost/beast/websocket/impl/accept.ipp @@ -265,7 +265,6 @@ operator()(error_code ec, std::size_t) { BOOST_ASIO_CORO_YIELD boost::asio::post( - d.ws.get_executor(), bind_handler(std::move(*this), ec)); } else diff --git a/include/boost/beast/websocket/impl/close.ipp b/include/boost/beast/websocket/impl/close.ipp index 7b0e1ff6..da3793c8 100644 --- a/include/boost/beast/websocket/impl/close.ipp +++ b/include/boost/beast/websocket/impl/close.ipp @@ -152,8 +152,7 @@ operator()( // Resume BOOST_ASIO_CORO_YIELD - boost::asio::post( - d.ws.get_executor(), std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(d.ws.wr_block_.is_locked(this)); // Make sure the stream is open @@ -196,8 +195,7 @@ operator()( // Resume BOOST_ASIO_CORO_YIELD - boost::asio::post( - d.ws.get_executor(), std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(d.ws.rd_block_.is_locked(this)); // Make sure the stream is open @@ -303,10 +301,9 @@ operator()( d.ws.paused_wr_.maybe_invoke(); if(! d.cont) { - auto& ws = d.ws; - return boost::asio::post( - ws.stream_.get_executor(), - bind_handler(d_.release_handler(), ec)); + BOOST_ASIO_CORO_YIELD + boost::asio::post( + bind_handler(std::move(*this), ec)); } d_.invoke(ec); } diff --git a/include/boost/beast/websocket/impl/ping.ipp b/include/boost/beast/websocket/impl/ping.ipp index c7deb9c3..40fb577a 100644 --- a/include/boost/beast/websocket/impl/ping.ipp +++ b/include/boost/beast/websocket/impl/ping.ipp @@ -135,7 +135,6 @@ operator()(error_code ec, std::size_t) { BOOST_ASIO_CORO_YIELD boost::asio::post( - d.ws.get_executor(), bind_handler(std::move(*this), ec)); goto upcall; } @@ -151,8 +150,7 @@ operator()(error_code ec, std::size_t) // Resume BOOST_ASIO_CORO_YIELD - boost::asio::post( - d.ws.get_executor(), std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(d.ws.wr_block_.is_locked(this)); // Make sure the stream is open diff --git a/include/boost/beast/websocket/impl/read.ipp b/include/boost/beast/websocket/impl/read.ipp index 1dfbd01e..686f26f9 100644 --- a/include/boost/beast/websocket/impl/read.ipp +++ b/include/boost/beast/websocket/impl/read.ipp @@ -196,8 +196,7 @@ operator()( // Resume BOOST_ASIO_CORO_YIELD - boost::asio::post( - ws_.get_executor(), std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(ws_.rd_block_.is_locked(this)); // The only way to get read blocked is if @@ -278,9 +277,7 @@ operator()( if(! cont_) { BOOST_ASIO_CORO_YIELD - boost::asio::post( - ws_.get_executor(), - std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(cont_); } } @@ -322,8 +319,7 @@ operator()( // Resume BOOST_ASIO_CORO_YIELD - boost::asio::post( - ws_.get_executor(), std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(ws_.wr_block_.is_locked(this)); // Make sure the stream is open @@ -354,9 +350,7 @@ operator()( if(! cont_) { BOOST_ASIO_CORO_YIELD - boost::asio::post( - ws_.get_executor(), - std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(cont_); } } @@ -380,9 +374,7 @@ operator()( if(! cont_) { BOOST_ASIO_CORO_YIELD - boost::asio::post( - ws_.get_executor(), - std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(cont_); } } @@ -638,8 +630,7 @@ operator()( // Resume BOOST_ASIO_CORO_YIELD - boost::asio::post( - ws_.get_executor(), std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(ws_.wr_block_.is_locked(this)); // Make sure the stream is open @@ -700,10 +691,11 @@ operator()( ws_.paused_ping_.maybe_invoke() || ws_.paused_wr_.maybe_invoke(); if(! cont_) - return boost::asio::post( - ws_.stream_.get_executor(), - bind_handler(std::move(h_), - ec, bytes_written_)); + { + BOOST_ASIO_CORO_YIELD + boost::asio::post( + bind_handler(std::move(*this), ec)); + } h_(ec, bytes_written_); } } @@ -814,9 +806,8 @@ operator()( { BOOST_ASIO_CORO_YIELD boost::asio::post( - ws_.get_executor(), bind_handler(std::move(*this), - error::buffer_overflow, 0)); + error::buffer_overflow)); break; } BOOST_ASIO_CORO_YIELD diff --git a/include/boost/beast/websocket/impl/teardown.ipp b/include/boost/beast/websocket/impl/teardown.ipp index add6b277..d0cbf60a 100644 --- a/include/boost/beast/websocket/impl/teardown.ipp +++ b/include/boost/beast/websocket/impl/teardown.ipp @@ -113,8 +113,7 @@ operator()(error_code ec, std::size_t bytes_transferred) { BOOST_ASIO_CORO_YIELD boost::asio::post( - s_.get_executor(), - bind_handler(std::move(*this), ec, 0)); + bind_handler(std::move(*this), ec)); goto upcall; } for(;;) diff --git a/include/boost/beast/websocket/impl/write.ipp b/include/boost/beast/websocket/impl/write.ipp index d12f2f9e..fe09b152 100644 --- a/include/boost/beast/websocket/impl/write.ipp +++ b/include/boost/beast/websocket/impl/write.ipp @@ -321,8 +321,7 @@ operator()( // Resume BOOST_ASIO_CORO_YIELD - boost::asio::post( - ws_.get_executor(), std::move(*this)); + boost::asio::post(std::move(*this)); BOOST_ASSERT(ws_.wr_block_.is_locked(this)); // Make sure the stream is open @@ -569,9 +568,11 @@ operator()( ws_.paused_rd_.maybe_invoke() || ws_.paused_ping_.maybe_invoke(); if(! cont_) - return boost::asio::post( - ws_.stream_.get_executor(), - bind_handler(std::move(h_), ec, bytes_transferred_)); + { + BOOST_ASIO_CORO_YIELD + boost::asio::post( + bind_handler(std::move(*this), ec)); + } h_(ec, bytes_transferred_); } }