Tidy up calls to post()

This commit is contained in:
Vinnie Falco
2018-03-04 13:19:17 -08:00
parent 2fd3e46b20
commit 5eaa2be85e
11 changed files with 37 additions and 50 deletions

View File

@@ -1,3 +1,9 @@
Version 163:
* Tidy up calls to post()
--------------------------------------------------------------------------------
Version 162:
* Add asio_handler_invoke overloads for stream algorithms

View File

@@ -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

View File

@@ -121,7 +121,6 @@ read_some_op<MutableBufferSequence, Handler>::operator()(
}
step_ = 3;
return boost::asio::post(
s_.get_executor(),
bind_handler(std::move(*this), ec, 0));
case 1:

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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

View File

@@ -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(;;)

View File

@@ -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_);
}
}