diff --git a/CHANGELOG.md b/CHANGELOG.md index d537f751..5f28ea9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ Version XXX: +* Add handler tracking locations to icy_stream. * Add handler tracking locations to basic_stream. * Add handler tracking locations to http operations. diff --git a/include/boost/beast/_experimental/http/impl/icy_stream.hpp b/include/boost/beast/_experimental/http/impl/icy_stream.hpp index c2760c55..308d61a9 100644 --- a/include/boost/beast/_experimental/http/impl/icy_stream.hpp +++ b/include/boost/beast/_experimental/http/impl/icy_stream.hpp @@ -95,10 +95,16 @@ public: { // Try to read the first three characters BOOST_ASIO_CORO_YIELD - s_.next_layer().async_read_some( - net::mutable_buffer( - s_.buf_ + s_.n_, 3 - s_.n_), - std::move(*this)); + { + BOOST_ASIO_HANDLER_LOCATION(( + __FILE__, __LINE__, + "http::icy_stream::async_read_some")); + + s_.next_layer().async_read_some( + net::mutable_buffer( + s_.buf_ + s_.n_, 3 - s_.n_), + std::move(*this)); + } s_.n_ += static_cast(bytes_transferred); if(ec) goto upcall; @@ -127,8 +133,14 @@ public: else { BOOST_ASIO_CORO_YIELD - s_.next_layer().async_read_some( - b_, std::move(*this)); + { + BOOST_ASIO_HANDLER_LOCATION(( + __FILE__, __LINE__, + "http::icy_stream::async_read_some")); + + s_.next_layer().async_read_some( + b_, std::move(*this)); + } } upcall: if(! cont) @@ -136,9 +148,15 @@ public: ec_ = ec; n_ = bytes_transferred; BOOST_ASIO_CORO_YIELD - s_.next_layer().async_read_some( - net::mutable_buffer{}, - std::move(*this)); + { + BOOST_ASIO_HANDLER_LOCATION(( + __FILE__, __LINE__, + "http::icy_stream::async_read_some")); + + s_.next_layer().async_read_some( + net::mutable_buffer{}, + std::move(*this)); + } ec = ec_; bytes_transferred = n_; }