include/boost/corosio/detail/op_base.hpp
100.0% Lines (42 / 42)
100.0% Branches (6 / 6)
98.4% Functions (243 / 247)
Functions (247)
Function
Calls
Lines
Branches
Blocks
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::bytes_op_base()
:41
28x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<std::array<boost::capy::mutable_buffer, 2ull> > > >::bytes_op_base()
:41
0
0.0%
–
0.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
178095x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::array<boost::capy::mutable_buffer, 2ull> > >::bytes_op_base()
:41
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::span<boost::capy::mutable_buffer const, 18446744073709551615ull> > >::bytes_op_base()
:41
34241x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
175617x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::const_buffer> > >::bytes_op_base()
:41
28x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::bytes_op_base()
:41
2x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::array<boost::capy::const_buffer, 2ull> > >::bytes_op_base()
:41
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::span<boost::capy::const_buffer const, 18446744073709551615ull> > >::bytes_op_base()
:41
34584x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >::bytes_op_base()
:41
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_read_at_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
9x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
9x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_from_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
6x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_to_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_random_access_handle<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_stream_handle<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::read_some_at_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
174x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::write_some_at_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
44x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_awaitable>::bytes_op_base()
:41
11x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_from_awaitable>::bytes_op_base()
:41
42x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_awaitable>::bytes_op_base()
:41
10x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_to_awaitable>::bytes_op_base()
:41
34x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::read_some_at_awaitable<boost::capy::mutable_buffer> >::bytes_op_base()
:41
15x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::write_some_at_awaitable<boost::capy::const_buffer> >::bytes_op_base()
:41
35x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::await_ready() const
:51
28x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<std::array<boost::capy::mutable_buffer, 2ull> > > >::await_ready() const
:51
0
0.0%
–
0.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
178095x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::array<boost::capy::mutable_buffer, 2ull> > >::await_ready() const
:51
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::span<boost::capy::mutable_buffer const, 18446744073709551615ull> > >::await_ready() const
:51
34241x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
175617x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::const_buffer> > >::await_ready() const
:51
28x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::await_ready() const
:51
2x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::array<boost::capy::const_buffer, 2ull> > >::await_ready() const
:51
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::span<boost::capy::const_buffer const, 18446744073709551615ull> > >::await_ready() const
:51
34584x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >::await_ready() const
:51
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_read_at_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
9x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
9x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_from_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
6x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_to_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_random_access_handle<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_stream_handle<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::read_some_at_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
174x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::write_some_at_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
44x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_awaitable>::await_ready() const
:51
11x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_from_awaitable>::await_ready() const
:51
42x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_awaitable>::await_ready() const
:51
10x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_to_awaitable>::await_ready() const
:51
34x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::read_some_at_awaitable<boost::capy::mutable_buffer> >::await_ready() const
:51
15x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::write_some_at_awaitable<boost::capy::const_buffer> >::await_ready() const
:51
35x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::await_resume() const
:58
28x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<std::array<boost::capy::mutable_buffer, 2ull> > > >::await_resume() const
:58
0
0.0%
–
0.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
177879x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::array<boost::capy::mutable_buffer, 2ull> > >::await_resume() const
:58
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::span<boost::capy::mutable_buffer const, 18446744073709551615ull> > >::await_resume() const
:58
34240x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
175614x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::const_buffer> > >::await_resume() const
:58
28x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::await_resume() const
:58
2x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::array<boost::capy::const_buffer, 2ull> > >::await_resume() const
:58
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::span<boost::capy::const_buffer const, 18446744073709551615ull> > >::await_resume() const
:58
34584x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >::await_resume() const
:58
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_read_at_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
9x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
9x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
3x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_from_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
6x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_to_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
4x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_random_access_handle<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_stream_handle<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
1x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::read_some_at_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
174x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::write_some_at_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
44x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_awaitable>::await_resume() const
:58
11x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_from_awaitable>::await_resume() const
:58
40x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_awaitable>::await_resume() const
:58
10x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_to_awaitable>::await_resume() const
:58
32x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::read_some_at_awaitable<boost::capy::mutable_buffer> >::await_resume() const
:58
11x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::write_some_at_awaitable<boost::capy::const_buffer> >::await_resume() const
:58
35x
100.0%
–
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
28x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::detail::slice_of<std::array<boost::capy::mutable_buffer, 2ull> > > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
0
0.0%
0.0%
0.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
178095x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::array<boost::capy::mutable_buffer, 2ull> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_read_stream::read_some_awaitable<std::span<boost::capy::mutable_buffer const, 18446744073709551615ull> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
34241x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
175617x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::const_buffer> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
28x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<boost::capy::detail::slice_of<boost::capy::mutable_buffer> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
2x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::array<boost::capy::const_buffer, 2ull> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
1x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::span<boost::capy::const_buffer const, 18446744073709551615ull> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
34584x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::io_write_stream::write_some_awaitable<std::vector<boost::capy::const_buffer, std::allocator<boost::capy::const_buffer> > > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
1x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_read_at_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
4x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_random_access_file<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_stream_file<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
9x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_write_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
9x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
2x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_recv_from_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
5x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_send_to_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
3x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_random_access_handle<boost::corosio::iocp_t{}>::native_write_at_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
1x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::native_win_stream_handle<boost::corosio::iocp_t{}>::native_read_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
1x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::read_some_at_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
173x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::random_access_file::write_some_at_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
43x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
10x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::recv_from_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
41x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
9x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::udp_socket::send_to_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
33x
100.0%
100.0%
100.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::read_some_at_awaitable<boost::capy::mutable_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
15x
77.8%
50.0%
75.0%
boost::corosio::detail::bytes_op_base<boost::corosio::win_random_access_handle::write_some_at_awaitable<boost::capy::const_buffer> >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:63
35x
77.8%
50.0%
75.0%
boost::corosio::detail::value_op_base<boost::corosio::io_signal_set::wait_awaitable, int>::value_op_base()
:99
102380x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::native_resolver<boost::corosio::iocp_t{}>::native_resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::value_op_base()
:99
2x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::value_op_base()
:99
32x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::resolve_host_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::value_op_base()
:99
6x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::reverse_resolve_awaitable, boost::corosio::endpoint_name>::value_op_base()
:99
17x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::io_signal_set::wait_awaitable, int>::await_ready() const
:108
102380x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::native_resolver<boost::corosio::iocp_t{}>::native_resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_ready() const
:108
2x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_ready() const
:108
32x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::resolve_host_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_ready() const
:108
6x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::reverse_resolve_awaitable, boost::corosio::endpoint_name>::await_ready() const
:108
17x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::io_signal_set::wait_awaitable, int>::await_resume() const
:115
100773x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::native_resolver<boost::corosio::iocp_t{}>::native_resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_resume() const
:115
2x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_resume() const
:115
27x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::reverse_resolve_awaitable, boost::corosio::endpoint_name>::await_resume() const
:115
15x
100.0%
–
100.0%
boost::corosio::detail::value_op_base<boost::corosio::io_signal_set::wait_awaitable, int>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:120
102380x
100.0%
100.0%
100.0%
boost::corosio::detail::value_op_base<boost::corosio::native_resolver<boost::corosio::iocp_t{}>::native_resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:120
2x
100.0%
100.0%
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::resolve_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:120
32x
100.0%
100.0%
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::resolve_host_awaitable, std::vector<boost::corosio::endpoint, std::allocator<boost::corosio::endpoint> > >::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:120
6x
100.0%
100.0%
100.0%
boost::corosio::detail::value_op_base<boost::corosio::resolver::reverse_resolve_awaitable, boost::corosio::endpoint_name>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:120
17x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::accept_awaitable>::void_op_base()
:153
23x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::move_accept_awaitable>::void_op_base()
:153
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::wait_awaitable>::void_op_base()
:153
6x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::connect_awaitable>::void_op_base()
:153
22x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::wait_awaitable>::void_op_base()
:153
7x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_accept_awaitable>::void_op_base()
:153
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_move_accept_awaitable>::void_op_base()
:153
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::void_op_base()
:153
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::void_op_base()
:153
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::void_op_base()
:153
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_accept_awaitable>::void_op_base()
:153
12x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_accept_value_awaitable>::void_op_base()
:153
4x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::void_op_base()
:153
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::void_op_base()
:153
14x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::void_op_base()
:153
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::void_op_base()
:153
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::void_op_base()
:153
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_win_object_handle<boost::corosio::iocp_t{}>::native_wait_awaitable>::void_op_base()
:153
1x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::accept_awaitable>::void_op_base()
:153
3280x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::accept_value_awaitable>::void_op_base()
:153
19x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::wait_awaitable>::void_op_base()
:153
12x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::connect_awaitable>::void_op_base()
:153
2976x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::wait_awaitable>::void_op_base()
:153
40x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::connect_awaitable>::void_op_base()
:153
20x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::wait_awaitable>::void_op_base()
:153
510x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::win_object_handle::wait_awaitable>::void_op_base()
:153
3222x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::accept_awaitable>::await_ready() const
:161
23x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::move_accept_awaitable>::await_ready() const
:161
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::wait_awaitable>::await_ready() const
:161
6x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::connect_awaitable>::await_ready() const
:161
22x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::wait_awaitable>::await_ready() const
:161
7x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_accept_awaitable>::await_ready() const
:161
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_move_accept_awaitable>::await_ready() const
:161
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_ready() const
:161
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_ready() const
:161
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_ready() const
:161
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_accept_awaitable>::await_ready() const
:161
12x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_accept_value_awaitable>::await_ready() const
:161
4x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_ready() const
:161
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_ready() const
:161
14x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_ready() const
:161
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_ready() const
:161
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_ready() const
:161
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_win_object_handle<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_ready() const
:161
1x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::accept_awaitable>::await_ready() const
:161
3280x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::accept_value_awaitable>::await_ready() const
:161
19x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::wait_awaitable>::await_ready() const
:161
12x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::connect_awaitable>::await_ready() const
:161
2976x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::wait_awaitable>::await_ready() const
:161
40x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::connect_awaitable>::await_ready() const
:161
20x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::wait_awaitable>::await_ready() const
:161
510x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::win_object_handle::wait_awaitable>::await_ready() const
:161
3222x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::wait_awaitable>::await_resume() const
:168
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::connect_awaitable>::await_resume() const
:168
21x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::wait_awaitable>::await_resume() const
:168
6x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_resume() const
:168
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_resume() const
:168
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_resume() const
:168
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_resume() const
:168
3x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_resume() const
:168
14x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_resume() const
:168
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_resume() const
:168
5x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_resume() const
:168
2x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_win_object_handle<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_resume() const
:168
1x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::wait_awaitable>::await_resume() const
:168
10x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::connect_awaitable>::await_resume() const
:168
2975x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::wait_awaitable>::await_resume() const
:168
36x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::connect_awaitable>::await_resume() const
:168
20x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::wait_awaitable>::await_resume() const
:168
509x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::win_object_handle::wait_awaitable>::await_resume() const
:168
3221x
100.0%
–
100.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::accept_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
22x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::move_accept_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
2x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_acceptor::wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
5x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::connect_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
22x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::local_stream_socket::wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
7x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_accept_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
2x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_move_accept_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
1x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
2x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
5x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::native_local_stream_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
2x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_accept_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
11x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_accept_value_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
2x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_acceptor<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
3x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
14x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_tcp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
5x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_connect_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
5x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_udp_socket<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
2x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::native_win_object_handle<boost::corosio::iocp_t{}>::native_wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
1x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::accept_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
3279x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::accept_value_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
17x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_acceptor::wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
11x
77.8%
50.0%
75.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::connect_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
2976x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::tcp_socket::wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
40x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::connect_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
20x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::udp_socket::wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
510x
100.0%
100.0%
100.0%
boost::corosio::detail::void_op_base<boost::corosio::win_object_handle::wait_awaitable>::await_suspend(std::__n4861::coroutine_handle<void>, boost::capy::await_context const*)
:173
3222x
100.0%
100.0%
100.0%
| Line | Branch | TLA | Hits | Source Code |
|---|---|---|---|---|
| 1 | // | |||
| 2 | // Copyright (c) 2026 Michael Vandeberg | |||
| 3 | // | |||
| 4 | // Distributed under the Boost Software License, Version 1.0. (See accompanying | |||
| 5 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |||
| 6 | // | |||
| 7 | // Official repository: https://github.com/cppalliance/corosio | |||
| 8 | // | |||
| 9 | ||||
| 10 | #ifndef BOOST_COROSIO_DETAIL_OP_BASE_HPP | |||
| 11 | #define BOOST_COROSIO_DETAIL_OP_BASE_HPP | |||
| 12 | ||||
| 13 | #include <boost/capy/error.hpp> | |||
| 14 | #include <boost/capy/continuation.hpp> | |||
| 15 | #include <boost/capy/results.hpp> | |||
| 16 | #include <boost/capy/ex/executor_ref.hpp> | |||
| 17 | #include <boost/capy/ex/await_context.hpp> | |||
| 18 | ||||
| 19 | #include <coroutine> | |||
| 20 | #include <cstddef> | |||
| 21 | #include <stop_token> | |||
| 22 | #include <system_error> | |||
| 23 | ||||
| 24 | namespace boost::corosio::detail { | |||
| 25 | ||||
| 26 | /* CRTP base for awaitables that return results<std::size_t>. | |||
| 27 | ||||
| 28 | Derived classes must provide: | |||
| 29 | ||||
| 30 | std::coroutine_handle<> dispatch( | |||
| 31 | capy::continuation& cont, | |||
| 32 | capy::executor_ref ex) const; | |||
| 33 | ||||
| 34 | which forwards to the backend implementation method, passing | |||
| 35 | token_, &ec_, and &bytes_ as the cancellation/output parameters. | |||
| 36 | */ | |||
| 37 | template<class Derived> | |||
| 38 | class bytes_op_base | |||
| 39 | { | |||
| 40 | friend Derived; | |||
| 41 | 423021x | bytes_op_base() = default; | ||
| 42 | ||||
| 43 | public: | |||
| 44 | std::stop_token token_; | |||
| 45 | mutable std::error_code ec_; | |||
| 46 | mutable std::size_t bytes_ = 0; | |||
| 47 | // Lives in the awaiting frame until resumption, so a completion | |||
| 48 | // posted through an executor never shares the object's state. | |||
| 49 | mutable capy::continuation cont_; | |||
| 50 | ||||
| 51 | 423021x | bool await_ready() const noexcept | ||
| 52 | { | |||
| 53 | // A pre-set ec_ means the initiator failed before dispatch | |||
| 54 | // (e.g. a closed object); complete immediately with that error. | |||
| 55 | 423021x | return static_cast<bool>(ec_); | ||
| 56 | } | |||
| 57 | ||||
| 58 | 422793x | [[nodiscard]] capy::results<std::size_t> await_resume() const noexcept | ||
| 59 | { | |||
| 60 | 422793x | return {ec_, bytes_}; | ||
| 61 | } | |||
| 62 | ||||
| 63 | 423011x | auto await_suspend(std::coroutine_handle<> h, capy::await_context const* env) | ||
| 64 | -> std::coroutine_handle<> | |||
| 65 | { | |||
| 66 | 423011x | token_ = env->stop_token; | ||
| 67 | // A pre-stopped token short-circuits before dispatch so no I/O | |||
| 68 | // is performed. A stop landing after dispatch is decoded by the | |||
| 69 | // backend, and a completed transfer is reported verbatim: the | |||
| 70 | // stream contracts forbid discarding the byte count. | |||
| 71 |
2/2✓ Branch 4 → 5 taken 31 times.
✓ Branch 4 → 7 taken 422980 times.
|
423011x | if (token_.stop_requested()) | |
| 72 | { | |||
| 73 | 31x | ec_ = capy::error::canceled; | ||
| 74 | 31x | return h; | ||
| 75 | } | |||
| 76 | 422980x | cont_.h = h; | ||
| 77 | 422980x | cont_.owner = env->owner; | ||
| 78 | 422980x | return static_cast<Derived const*>(this)->dispatch( | ||
| 79 | 422980x | cont_, env->executor); | ||
| 80 | } | |||
| 81 | }; | |||
| 82 | ||||
| 83 | /* CRTP base for awaitables that return results<Value> for a | |||
| 84 | moved-out result object (e.g. the resolver's result lists). | |||
| 85 | ||||
| 86 | Derived classes must provide: | |||
| 87 | ||||
| 88 | std::coroutine_handle<> dispatch( | |||
| 89 | capy::continuation& cont, | |||
| 90 | capy::executor_ref ex) const; | |||
| 91 | ||||
| 92 | which forwards to the backend implementation method, passing | |||
| 93 | token_, &ec_, and &value_ as the cancellation/output parameters. | |||
| 94 | */ | |||
| 95 | template<class Derived, class Value> | |||
| 96 | class value_op_base | |||
| 97 | { | |||
| 98 | friend Derived; | |||
| 99 | 102437x | value_op_base() = default; | ||
| 100 | ||||
| 101 | public: | |||
| 102 | std::stop_token token_; | |||
| 103 | mutable std::error_code ec_; | |||
| 104 | mutable Value value_{}; | |||
| 105 | // See bytes_op_base::cont_. | |||
| 106 | mutable capy::continuation cont_; | |||
| 107 | ||||
| 108 | 102437x | bool await_ready() const noexcept | ||
| 109 | { | |||
| 110 | // A pre-set ec_ means the initiator failed before dispatch; | |||
| 111 | // complete immediately with that error. | |||
| 112 | 102437x | return static_cast<bool>(ec_); | ||
| 113 | } | |||
| 114 | ||||
| 115 | 100817x | [[nodiscard]] capy::results<Value> await_resume() const noexcept | ||
| 116 | { | |||
| 117 | 100817x | return {ec_, std::move(value_)}; | ||
| 118 | } | |||
| 119 | ||||
| 120 | 102437x | auto await_suspend(std::coroutine_handle<> h, capy::await_context const* env) | ||
| 121 | -> std::coroutine_handle<> | |||
| 122 | { | |||
| 123 | 102437x | token_ = env->stop_token; | ||
| 124 | // A pre-stopped token short-circuits before dispatch; a stop | |||
| 125 | // landing after dispatch leaves the completed result intact. | |||
| 126 |
2/2✓ Branch 4 → 5 taken 22 times.
✓ Branch 4 → 7 taken 102415 times.
|
102437x | if (token_.stop_requested()) | |
| 127 | { | |||
| 128 | 22x | ec_ = capy::error::canceled; | ||
| 129 | 22x | return h; | ||
| 130 | } | |||
| 131 | 102415x | cont_.h = h; | ||
| 132 | 102415x | cont_.owner = env->owner; | ||
| 133 | 102415x | return static_cast<Derived const*>(this)->dispatch( | ||
| 134 | 102415x | cont_, env->executor); | ||
| 135 | } | |||
| 136 | }; | |||
| 137 | ||||
| 138 | /* CRTP base for awaitables that return results<>. | |||
| 139 | ||||
| 140 | Derived classes must provide: | |||
| 141 | ||||
| 142 | std::coroutine_handle<> dispatch( | |||
| 143 | capy::continuation& cont, | |||
| 144 | capy::executor_ref ex) const; | |||
| 145 | ||||
| 146 | which forwards to the backend implementation method, passing | |||
| 147 | token_ and &ec_ as the cancellation/output parameters. | |||
| 148 | */ | |||
| 149 | template<class Derived> | |||
| 150 | class void_op_base | |||
| 151 | { | |||
| 152 | friend Derived; | |||
| 153 | 10201x | void_op_base() = default; | ||
| 154 | ||||
| 155 | public: | |||
| 156 | std::stop_token token_; | |||
| 157 | mutable std::error_code ec_; | |||
| 158 | // See bytes_op_base::cont_. | |||
| 159 | mutable capy::continuation cont_; | |||
| 160 | ||||
| 161 | 10201x | bool await_ready() const noexcept | ||
| 162 | { | |||
| 163 | // A pre-set ec_ means the initiator failed before dispatch | |||
| 164 | // (e.g. auto-open); complete immediately with that error. | |||
| 165 | 10201x | return static_cast<bool>(ec_); | ||
| 166 | } | |||
| 167 | ||||
| 168 | 6842x | [[nodiscard]] capy::results<> await_resume() const noexcept | ||
| 169 | { | |||
| 170 | 6842x | return {ec_}; | ||
| 171 | } | |||
| 172 | ||||
| 173 | 10188x | auto await_suspend(std::coroutine_handle<> h, capy::await_context const* env) | ||
| 174 | -> std::coroutine_handle<> | |||
| 175 | { | |||
| 176 | 10188x | token_ = env->stop_token; | ||
| 177 | // A pre-stopped token short-circuits before dispatch; a stop | |||
| 178 | // landing after dispatch leaves the completed result intact. | |||
| 179 |
2/2✓ Branch 4 → 5 taken 510 times.
✓ Branch 4 → 7 taken 9678 times.
|
10188x | if (token_.stop_requested()) | |
| 180 | { | |||
| 181 | 510x | ec_ = capy::error::canceled; | ||
| 182 | 510x | return h; | ||
| 183 | } | |||
| 184 | 9678x | cont_.h = h; | ||
| 185 | 9678x | cont_.owner = env->owner; | ||
| 186 | 9678x | return static_cast<Derived const*>(this)->dispatch( | ||
| 187 | 9678x | cont_, env->executor); | ||
| 188 | } | |||
| 189 | }; | |||
| 190 | ||||
| 191 | } // namespace boost::corosio::detail | |||
| 192 | ||||
| 193 | #endif // BOOST_COROSIO_DETAIL_OP_BASE_HPP | |||
| 194 |