mirror of
https://github.com/boostorg/beast.git
synced 2025-07-31 21:34:46 +02:00
Add handler tracking locations to http operations
This commit is contained in:
committed by
Richard Hodges
parent
5641d9498b
commit
11385141ea
@@ -1,6 +1,7 @@
|
||||
Version XXX:
|
||||
|
||||
* Add handler tracking locations to basic_stream.
|
||||
* Add handler tracking locations to http operations.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
@@ -97,6 +97,10 @@ public:
|
||||
, d_(beast::allocate_stable<data>(
|
||||
*this, s, m))
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_read(msg)"));
|
||||
|
||||
http::async_read(d_.s, b, d_.p, std::move(*this));
|
||||
}
|
||||
|
||||
@@ -203,6 +207,11 @@ public:
|
||||
b_, size, ec, error::buffer_overflow);
|
||||
if(ec)
|
||||
goto upcall;
|
||||
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_read_some"));
|
||||
|
||||
s_.async_read_some(*mb, std::move(self));
|
||||
}
|
||||
b_.commit(bytes_transferred);
|
||||
@@ -230,8 +239,14 @@ public:
|
||||
if(! cont_)
|
||||
{
|
||||
BOOST_ASIO_CORO_YIELD
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_read_some"));
|
||||
|
||||
net::post(
|
||||
beast::bind_front_handler(std::move(self), ec));
|
||||
}
|
||||
}
|
||||
self.complete(ec, bytes_transferred_);
|
||||
}
|
||||
@@ -264,15 +279,27 @@ public:
|
||||
if (Condition{}(p_))
|
||||
{
|
||||
BOOST_ASIO_CORO_YIELD
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_read"));
|
||||
|
||||
net::post(std::move(self));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
do
|
||||
{
|
||||
BOOST_ASIO_CORO_YIELD
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_read"));
|
||||
|
||||
async_read_some(
|
||||
s_, b_, p_, std::move(self));
|
||||
}
|
||||
bytes_transferred_ += bytes_transferred;
|
||||
} while (!ec &&
|
||||
!Condition{}(p_));
|
||||
|
@@ -60,6 +60,10 @@ class write_some_op
|
||||
error_code& ec,
|
||||
ConstBufferSequence const& buffers)
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_write_some"));
|
||||
|
||||
invoked = true;
|
||||
ec = {};
|
||||
op_.s_.async_write_some(
|
||||
@@ -93,6 +97,11 @@ public:
|
||||
if(ec)
|
||||
{
|
||||
BOOST_ASSERT(! f.invoked);
|
||||
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_write_some"));
|
||||
|
||||
return net::post(
|
||||
s_.get_executor(),
|
||||
beast::bind_front_handler(
|
||||
@@ -107,6 +116,10 @@ public:
|
||||
BOOST_ASSERT(sr_.is_done());
|
||||
}
|
||||
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_write_some"));
|
||||
|
||||
return net::post(
|
||||
s_.get_executor(),
|
||||
beast::bind_front_handler(
|
||||
@@ -191,16 +204,28 @@ public:
|
||||
if(Predicate{}(sr_))
|
||||
{
|
||||
BOOST_ASIO_CORO_YIELD
|
||||
net::post(
|
||||
s_.get_executor(),
|
||||
std::move(*this));
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_write"));
|
||||
|
||||
net::post(
|
||||
s_.get_executor(),
|
||||
std::move(*this));
|
||||
}
|
||||
goto upcall;
|
||||
}
|
||||
for(;;)
|
||||
{
|
||||
BOOST_ASIO_CORO_YIELD
|
||||
beast::http::async_write_some(
|
||||
s_, sr_, std::move(*this));
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_write"));
|
||||
|
||||
beast::http::async_write_some(
|
||||
s_, sr_, std::move(*this));
|
||||
}
|
||||
bytes_transferred_ += bytes_transferred;
|
||||
if(ec)
|
||||
goto upcall;
|
||||
@@ -248,6 +273,10 @@ public:
|
||||
void
|
||||
operator()()
|
||||
{
|
||||
BOOST_ASIO_HANDLER_LOCATION((
|
||||
__FILE__, __LINE__,
|
||||
"http::async_write(msg)"));
|
||||
|
||||
async_write(s_, sr_, std::move(*this));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user