include/boost/corosio/native/detail/reactor/reactor_stream_socket.hpp

97.7% Lines (291/298) 100.0% List of functions (92/92) 35.6% Branches (248/696)
reactor_stream_socket.hpp
f(x) Functions (92)
Function Calls Lines Branches Blocks
boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::reactor_stream_socket(boost::corosio::detail::kqueue_local_stream_service&) :84 162x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::reactor_stream_socket(boost::corosio::detail::kqueue_tcp_service&) :84 19927x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::reactor_stream_socket(boost::corosio::detail::select_local_stream_service&) :84 156x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::reactor_stream_socket(boost::corosio::detail::select_tcp_service&) :84 5028x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::~reactor_stream_socket() :108 162x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::~reactor_stream_socket() :108 19927x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::~reactor_stream_socket() :108 156x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::~reactor_stream_socket() :108 5028x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::remote_endpoint() const :111 2x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::remote_endpoint() const :111 29x 0.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::remote_endpoint() const :111 2x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::remote_endpoint() const :111 29x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::local_endpoint, std::__1::stop_token, std::__1::error_code*) :118 17x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::endpoint, std::__1::stop_token, std::__1::error_code*) :118 6501x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::local_endpoint, std::__1::stop_token, std::__1::error_code*) :118 16x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::endpoint, std::__1::stop_token, std::__1::error_code*) :118 1643x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :128 284x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :128 485249x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :128 283x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :128 451463x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :139 281x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :139 605870x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :139 277x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token, std::__1::error_code*, unsigned long*) :139 452504x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token, std::__1::error_code*) :150 9x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token, std::__1::error_code*) :150 39x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token, std::__1::error_code*) :150 9x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token, std::__1::error_code*) :150 37x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::shutdown(boost::corosio::shutdown_type) :160 2x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::shutdown(boost::corosio::shutdown_type) :160 16x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::shutdown(boost::corosio::shutdown_type) :160 2x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::shutdown(boost::corosio::shutdown_type) :160 6x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::cancel() :165 3x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::cancel() :165 159x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::cancel() :165 3x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::cancel() :165 42x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_shutdown(int) :182 2x 100.0% – 50.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_shutdown(int) :182 16x 53.8% 30.0% 66.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_shutdown(int) :182 2x 53.8% 15.0% 50.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_shutdown(int) :182 6x 92.3% 70.0% 66.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::set_endpoints(boost::corosio::local_endpoint, boost::corosio::local_endpoint) :205 101x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::set_endpoints(boost::corosio::endpoint, boost::corosio::endpoint) :205 12952x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::set_endpoints(boost::corosio::local_endpoint, boost::corosio::local_endpoint) :205 96x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::set_endpoints(boost::corosio::endpoint, boost::corosio::endpoint) :205 3250x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_close_socket() :273 461x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_close_socket() :273 59399x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_close_socket() :273 443x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_close_socket() :273 15029x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_release_socket() :280 2x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_release_socket() :280 2x 0.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_release_socket() :280 2x 100.0% – 100.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_release_socket() :280 2x 100.0% – 100.0% boost::corosio::detail::reactor_op_base** boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::op_to_desc_slot<boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>>(boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>&) :291 2x 100.0% – 28.0% boost::corosio::detail::reactor_op_base** boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::op_to_desc_slot<boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>>(boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>&) :291 1158x 53.3% 41.7% 78.0% boost::corosio::detail::reactor_op_base** boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::op_to_desc_slot<boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>>(boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>&) :291 2x 33.3% 8.3% 28.0% boost::corosio::detail::reactor_op_base** boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::op_to_desc_slot<boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>>(boost::corosio::detail::reactor_stream_base_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>&) :291 32x 80.0% 75.0% 78.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&)>(auto) :309 463x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&)>(auto) :309 3x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&)>(auto) :309 59401x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&)>(auto) :309 159x 100.0% 50.0% 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&)>(auto) :309 445x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&)>(auto) :309 3x 100.0% 25.0% 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&)>(auto) :309 15031x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_op<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&)>(auto) :309 42x 100.0% 50.0% 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 463x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 3x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::register_fd(int)::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 101x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 59401x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 159x 100.0% 50.0% 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_descriptor_state>::register_fd(int)::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 6541x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 445x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 3x 100.0% 25.0% 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_descriptor_state>::register_fd(int)::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 96x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_descriptor_state>::abandon_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 15031x 100.0% – 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_descriptor_state>::cancel_all()::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 42x 100.0% 50.0% 87.0% void boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::for_each_desc_entry<boost::corosio::detail::reactor_io_core<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_descriptor_state>::register_fd(int)::'lambda'(auto&, boost::corosio::detail::reactor_op_base*&)>(auto) :320 1677x 100.0% – 87.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::local_endpoint const&, std::__1::stop_token const&, std::__1::error_code*) :352 17x 100.0% – 70.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::endpoint const&, std::__1::stop_token const&, std::__1::error_code*) :352 6501x 44.4% 18.8% 52.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::local_endpoint const&, std::__1::stop_token const&, std::__1::error_code*) :352 16x 68.9% 31.2% 70.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_connect(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::endpoint const&, std::__1::stop_token const&, std::__1::error_code*) :352 1643x 73.3% 37.5% 52.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :436 284x 100.0% – 83.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :436 485249x 72.2% 65.0% 89.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :436 283x 98.6% 36.2% 83.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_read_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :436 451463x 100.0% 85.0% 89.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :568 281x 100.0% – 84.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :568 605870x 55.6% 76.9% 96.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :568 277x 100.0% 36.5% 84.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_write_some(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::buffer_param, std::__1::stop_token const&, std::__1::error_code*, unsigned long*) :568 452504x 100.0% 92.3% 96.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_local_stream_socket, boost::corosio::detail::kqueue_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token const&, std::__1::error_code*) :689 9x 100.0% – 73.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::kqueue_traits, boost::corosio::detail::kqueue_tcp_socket, boost::corosio::detail::kqueue_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token const&, std::__1::error_code*) :689 39x 48.9% 20.0% 93.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_local_stream_socket, boost::corosio::detail::select_local_stream_acceptor, boost::corosio::local_endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::local_stream_socket::implementation, boost::corosio::local_endpoint>::do_wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token const&, std::__1::error_code*) :689 9x 93.3% 35.0% 73.0% boost::corosio::detail::reactor_stream_socket<boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_service, boost::corosio::detail::reactor_stream_connect_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_read_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_write_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_stream_wait_op<boost::corosio::detail::select_traits, boost::corosio::detail::select_tcp_socket, boost::corosio::detail::select_tcp_acceptor, boost::corosio::endpoint>, boost::corosio::detail::reactor_descriptor_state, boost::corosio::tcp_socket::implementation, boost::corosio::endpoint>::do_wait(std::__1::coroutine_handle<void>, boost::capy::executor_ref, boost::corosio::wait_type, std::__1::stop_token const&, std::__1::error_code*) :689 37x 100.0% 90.0% 93.0%
Line Branch TLA Hits Source Code
1 //
2 // Copyright (c) 2026 Steve Gerbino
3 // Copyright (c) 2026 Michael Vandeberg
4 //
5 // Distributed under the Boost Software License, Version 1.0. (See accompanying
6 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 //
8 // Official repository: https://github.com/cppalliance/corosio
9 //
10
11 #ifndef BOOST_COROSIO_NATIVE_DETAIL_REACTOR_REACTOR_STREAM_SOCKET_HPP
12 #define BOOST_COROSIO_NATIVE_DETAIL_REACTOR_REACTOR_STREAM_SOCKET_HPP
13
14 #include <boost/corosio/tcp_socket.hpp>
15 #include <boost/corosio/shutdown_type.hpp>
16 #include <boost/corosio/wait_type.hpp>
17 #include <boost/corosio/native/detail/reactor/reactor_basic_socket.hpp>
18 #include <boost/corosio/native/detail/reactor/reactor_descriptor_state.hpp>
19 #include <boost/corosio/detail/dispatch_coro.hpp>
20 #include <boost/capy/buffers.hpp>
21
22 #include <coroutine>
23
24 #include <errno.h>
25 #include <sys/socket.h>
26 #include <sys/uio.h>
27
28 namespace boost::corosio::detail {
29
30 /** CRTP base for reactor-backed stream socket implementations.
31
32 Inherits shared data members and cancel/close/register logic
33 from reactor_basic_socket. Adds the stream-specific remote
34 endpoint, shutdown, and I/O dispatch (connect, read, write, wait).
35
36 @tparam Derived The concrete socket type (CRTP).
37 @tparam Service The backend's socket service type.
38 @tparam ConnOp The backend's connect op type.
39 @tparam ReadOp The backend's read op type.
40 @tparam WriteOp The backend's write op type.
41 @tparam WaitOp The backend's wait op type.
42 @tparam DescState The backend's descriptor_state type.
43 @tparam ImplBase The public vtable base
44 (tcp_socket::implementation or
45 local_stream_socket::implementation).
46 @tparam Endpoint The endpoint type (endpoint or local_endpoint).
47 */
48 template<
49 class Derived,
50 class Service,
51 class ConnOp,
52 class ReadOp,
53 class WriteOp,
54 class WaitOp,
55 class DescState,
56 class ImplBase = tcp_socket::implementation,
57 class Endpoint = endpoint>
58 class reactor_stream_socket
59 : public reactor_basic_socket<
60 Derived,
61 ImplBase,
62 Service,
63 DescState,
64 Endpoint>
65 {
66 using base_type =
67 reactor_basic_socket<Derived, ImplBase, Service, DescState, Endpoint>;
68 using self_type = reactor_stream_socket<
69 Derived,
70 Service,
71 ConnOp,
72 ReadOp,
73 WriteOp,
74 WaitOp,
75 DescState,
76 ImplBase,
77 Endpoint>;
78 friend base_type;
79 friend reactor_io_core<Derived, Service, DescState>;
80 friend Derived;
81
82 protected:
83 // NOLINTNEXTLINE(bugprone-crtp-constructor-accessibility)
84 25273x explicit reactor_stream_socket(Service& svc) noexcept : base_type(svc) {}
85
86 protected:
87 Endpoint remote_endpoint_;
88
89 public:
90 /// Pending connect operation slot.
91 ConnOp conn_;
92
93 /// Pending read operation slot.
94 ReadOp rd_;
95
96 /// Pending write operation slot.
97 WriteOp wr_;
98
99 /// Pending wait-for-read operation slot.
100 WaitOp wait_rd_;
101
102 /// Pending wait-for-write operation slot.
103 WaitOp wait_wr_;
104
105 /// Pending wait-for-error operation slot.
106 WaitOp wait_er_;
107
108 25273x ~reactor_stream_socket() override = default;
109
110 /// Return the cached remote endpoint.
111 62x Endpoint remote_endpoint() const noexcept override
112 {
113 62x return remote_endpoint_;
114 }
115
116 // --- Virtual method overrides (satisfy ImplBase pure virtuals) ---
117
118 8177x std::coroutine_handle<> connect(
119 std::coroutine_handle<> h,
120 capy::executor_ref ex,
121 Endpoint ep,
122 std::stop_token token,
123 std::error_code* ec) override
124 {
125 8177x return do_connect(h, ex, ep, token, ec);
126 }
127
128 937279x std::coroutine_handle<> read_some(
129 std::coroutine_handle<> h,
130 capy::executor_ref ex,
131 buffer_param param,
132 std::stop_token token,
133 std::error_code* ec,
134 std::size_t* bytes_out) override
135 {
136 937279x return do_read_some(h, ex, param, token, ec, bytes_out);
137 }
138
139 1058932x std::coroutine_handle<> write_some(
140 std::coroutine_handle<> h,
141 capy::executor_ref ex,
142 buffer_param param,
143 std::stop_token token,
144 std::error_code* ec,
145 std::size_t* bytes_out) override
146 {
147 1058932x return do_write_some(h, ex, param, token, ec, bytes_out);
148 }
149
150 94x std::coroutine_handle<> wait(
151 std::coroutine_handle<> h,
152 capy::executor_ref ex,
153 wait_type w,
154 std::stop_token token,
155 std::error_code* ec) override
156 {
157 94x return do_wait(h, ex, w, token, ec);
158 }
159
160 26x std::error_code shutdown(corosio::shutdown_type what) noexcept override
161 {
162 26x return do_shutdown(static_cast<int>(what));
163 }
164
165 207x void cancel() noexcept override
166 {
167 207x this->do_cancel();
168 207x }
169
170 // --- End virtual overrides ---
171
172 /// Close the socket (non-virtual, called by the service).
173 void close_socket() noexcept
174 {
175 this->do_close_socket();
176 }
177
178 /** Shut down part or all of the full-duplex connection.
179
180 @param what 0 = receive, 1 = send, 2 = both.
181 */
182 26x std::error_code do_shutdown(int what) noexcept
183 {
184 int how;
185
6/16
✓ Branch 0 taken 14 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
26x switch (what)
186 {
187 case 0: // shutdown_receive
188 4x how = SHUT_RD;
189 4x break;
190 case 1: // shutdown_send
191 18x how = SHUT_WR;
192 18x break;
193 case 2: // shutdown_both
194 4x how = SHUT_RDWR;
195 4x break;
196 default:
197 ✗ return make_err(EINVAL);
198 }
199
6/16
✓ Branch 0 taken 18 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 time.
✓ Branch 3 taken 17 times.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✓ Branch 7 taken 7 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
26x if (::shutdown(this->fd_, how) != 0)
200
2/8
✓ Branch 0 taken 1 time.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 time.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
2x return make_err(errno);
201 24x return {};
202 26x }
203
204 /// Cache local and remote endpoints.
205 16399x void set_endpoints(Endpoint local, Endpoint remote) noexcept
206 {
207 16399x this->local_endpoint_ = std::move(local);
208 16399x remote_endpoint_ = std::move(remote);
209 16399x }
210
211 /** Shared connect dispatch.
212
213 Tries the connect syscall speculatively. On synchronous
214 completion, returns via inline budget or posts through queue.
215 On EINPROGRESS, registers with the reactor.
216 */
217 std::coroutine_handle<> do_connect(
218 std::coroutine_handle<>,
219 capy::executor_ref,
220 Endpoint const&,
221 std::stop_token const&,
222 std::error_code*);
223
224 /** Shared scatter-read dispatch.
225
226 Tries readv() speculatively. On success or hard error,
227 returns via inline budget or posts through queue.
228 On EAGAIN, registers with the reactor.
229 */
230 std::coroutine_handle<> do_read_some(
231 std::coroutine_handle<>,
232 capy::executor_ref,
233 buffer_param,
234 std::stop_token const&,
235 std::error_code*,
236 std::size_t*);
237
238 /** Shared gather-write dispatch.
239
240 Tries the write via WriteOp::write_policy speculatively.
241 On success or hard error, returns via inline budget or
242 posts through queue. On EAGAIN, registers with the reactor.
243 */
244 std::coroutine_handle<> do_write_some(
245 std::coroutine_handle<>,
246 capy::executor_ref,
247 buffer_param,
248 std::stop_token const&,
249 std::error_code*,
250 std::size_t*);
251
252 /** Shared readiness-wait dispatch.
253
254 Every wait type probes the descriptor with a zero-timeout
255 `poll()` and completes at once if the condition already
256 holds; otherwise the op re-probes under the descriptor mutex
257 and parks, completing when a reactor event arrives and a
258 fresh probe confirms the condition. A write wait therefore
259 completes only while a non-blocking write can make progress.
260 */
261 std::coroutine_handle<> do_wait(
262 std::coroutine_handle<>,
263 capy::executor_ref,
264 wait_type,
265 std::stop_token const&,
266 std::error_code*);
267
268 /** Close the socket and cancel pending operations.
269
270 Extends the base do_close_socket() to also reset
271 the remote endpoint.
272 */
273 75332x void do_close_socket() noexcept
274 {
275 75332x base_type::do_close_socket();
276 75332x remote_endpoint_ = Endpoint{};
277 75332x }
278
279 /// Release ownership of the descriptor and drop the cached peer.
280 8x native_handle_type do_release_socket() noexcept
281 {
282 8x auto fd = base_type::do_release_socket();
283 8x remote_endpoint_ = Endpoint{};
284 8x return fd;
285 }
286
287 private:
288 // CRTP callbacks for reactor_io_core cancel/close
289
290 template<class Op>
291 1194x reactor_op_base** op_to_desc_slot(Op& op) noexcept
292 {
293
2/8
✓ Branch 0 taken 1160 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 34 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1194x if (&op == static_cast<void*>(&conn_))
294 ✗ return &this->desc_state_.connect_op;
295
4/8
✓ Branch 0 taken 7 times.
✓ Branch 1 taken 1153 times.
✓ Branch 2 taken 5 times.
✓ Branch 3 taken 29 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1194x if (&op == static_cast<void*>(&rd_))
296 1182x return &this->desc_state_.read_op;
297
4/8
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 3 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
12x if (&op == static_cast<void*>(&wr_))
298 7x return &this->desc_state_.write_op;
299
4/8
✓ Branch 0 taken 1 time.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 1 time.
✓ Branch 3 taken 1 time.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
5x if (&op == static_cast<void*>(&wait_rd_))
300 3x return &this->desc_state_.wait_read_op;
301
2/8
✓ Branch 0 taken 1 time.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 time.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
2x if (&op == static_cast<void*>(&wait_wr_))
302 ✗ return &this->desc_state_.wait_write_op;
303
2/8
✗ Branch 0 not taken.
✓ Branch 1 taken 1 time.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 time.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
2x if (&op == static_cast<void*>(&wait_er_))
304 2x return &this->desc_state_.wait_error_op;
305 ✗ return nullptr;
306 1194x }
307
308 template<class Fn>
309 75547x void for_each_op(Fn fn) noexcept
310 {
311
4/16
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 162 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15476 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 45 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
75547x fn(conn_);
312
4/16
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 162 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15476 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 45 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
75547x fn(rd_);
313
4/16
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 162 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15476 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 45 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
75547x fn(wr_);
314
4/16
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 162 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15476 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 45 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
75547x fn(wait_rd_);
315
4/16
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 162 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15476 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 45 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
75547x fn(wait_wr_);
316
4/16
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 162 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 15476 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 45 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
75547x fn(wait_er_);
317 75547x }
318
319 template<class Fn>
320 83962x void for_each_desc_entry(Fn fn) noexcept
321 {
322
6/24
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6642 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 162 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 15476 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1773 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 45 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
83962x fn(conn_, this->desc_state_.connect_op);
323
6/24
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6642 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 162 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 15476 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1773 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 45 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
83962x fn(rd_, this->desc_state_.read_op);
324
6/24
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6642 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 162 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 15476 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1773 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 45 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
83962x fn(wr_, this->desc_state_.write_op);
325
6/24
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6642 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 162 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 15476 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1773 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 45 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
83962x fn(wait_rd_, this->desc_state_.wait_read_op);
326
6/24
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6642 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 162 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 15476 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1773 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 45 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
83962x fn(wait_wr_, this->desc_state_.wait_write_op);
327
6/24
✓ Branch 0 taken 59864 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6642 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 162 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 15476 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1773 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 45 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
83962x fn(wait_er_, this->desc_state_.wait_error_op);
328 83962x }
329 };
330
331 template<
332 class Derived,
333 class Service,
334 class ConnOp,
335 class ReadOp,
336 class WriteOp,
337 class WaitOp,
338 class DescState,
339 class ImplBase,
340 class Endpoint>
341 std::coroutine_handle<>
342 reactor_stream_socket<
343 Derived,
344 Service,
345 ConnOp,
346 ReadOp,
347 WriteOp,
348 WaitOp,
349 DescState,
350 ImplBase,
351 Endpoint>::
352 8177x do_connect(
353 std::coroutine_handle<> h,
354 capy::executor_ref ex,
355 Endpoint const& ep,
356 std::stop_token const& token,
357 std::error_code* ec)
358 {
359 8177x auto& op = conn_;
360
361 8177x sockaddr_storage storage{};
362 8177x socklen_t addrlen = to_sockaddr(ep, socket_family(this->fd_), storage);
363 8177x int result =
364 8177x ::connect(this->fd_, reinterpret_cast<sockaddr*>(&storage), addrlen);
365
366
4/8
✓ Branch 0 taken 6503 times.
✓ Branch 1 taken 15 times.
✓ Branch 2 taken 1645 times.
✓ Branch 3 taken 14 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
8177x if (result == 0)
367 {
368 29x sockaddr_storage local_storage{};
369 29x socklen_t local_len = sizeof(local_storage);
370
4/16
✗ Branch 0 not taken.
✓ Branch 1 taken 15 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 15 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 14 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 14 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
58x if (::getsockname(
371 29x this->fd_, reinterpret_cast<sockaddr*>(&local_storage),
372 29x &local_len) == 0)
373 29x this->local_endpoint_ =
374 29x from_sockaddr_as(local_storage, local_len, Endpoint{});
375 29x remote_endpoint_ = ep;
376 29x }
377
378
8/16
✓ Branch 0 taken 6503 times.
✓ Branch 1 taken 15 times.
✓ Branch 2 taken 4 times.
✓ Branch 3 taken 6499 times.
✓ Branch 4 taken 1645 times.
✓ Branch 5 taken 14 times.
✓ Branch 6 taken 4 times.
✓ Branch 7 taken 1641 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
8177x if (result == 0 || errno != EINPROGRESS)
379 {
380
4/8
✓ Branch 0 taken 15 times.
✓ Branch 1 taken 4 times.
✓ Branch 2 taken 14 times.
✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
37x int err = (result < 0) ? errno : 0;
381
2/8
✗ Branch 0 not taken.
✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 18 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
37x if (this->svc_.scheduler().try_consume_inline_budget())
382 {
383 ✗ *ec = err ? make_err(err) : std::error_code{};
384 ✗ op.cont.h = h;
385 ✗ return dispatch_coro(ex, op.cont);
386 }
387 37x op.reset();
388 37x op.h = h;
389 37x op.ex = ex;
390 37x op.ec_out = ec;
391 37x op.fd = this->fd_;
392 37x op.target_endpoint = ep;
393 37x op.start(token, static_cast<Derived*>(this));
394 37x op.impl_ptr = this->shared_from_this();
395 37x op.complete(err, 0);
396 37x this->svc_.post(&op);
397 37x return std::noop_coroutine();
398 }
399
400 // EINPROGRESS — register with reactor
401 8140x op.reset();
402 8140x op.h = h;
403 8140x op.ex = ex;
404 8140x op.ec_out = ec;
405 8140x op.fd = this->fd_;
406 8140x op.target_endpoint = ep;
407 8140x op.start(token, static_cast<Derived*>(this));
408 8140x op.impl_ptr = this->shared_from_this();
409
410 16280x this->register_op(
411 8140x op, this->desc_state_.connect_op, this->desc_state_.write_ready, true);
412 8140x return std::noop_coroutine();
413 8177x }
414
415 template<
416 class Derived,
417 class Service,
418 class ConnOp,
419 class ReadOp,
420 class WriteOp,
421 class WaitOp,
422 class DescState,
423 class ImplBase,
424 class Endpoint>
425 std::coroutine_handle<>
426 reactor_stream_socket<
427 Derived,
428 Service,
429 ConnOp,
430 ReadOp,
431 WriteOp,
432 WaitOp,
433 DescState,
434 ImplBase,
435 Endpoint>::
436 937279x do_read_some(
437 std::coroutine_handle<> h,
438 capy::executor_ref ex,
439 buffer_param param,
440 std::stop_token const& token,
441 std::error_code* ec,
442 std::size_t* bytes_out)
443 {
444 937279x auto& op = rd_;
445 937279x op.reset();
446
447 // Closed-object contract: complete with bad_file_descriptor without
448 // touching the kernel or the unregistered descriptor state.
449
4/8
✓ Branch 0 taken 485440 times.
✓ Branch 1 taken 93 times.
✓ Branch 2 taken 451742 times.
✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
937279x if (this->fd_ < 0)
450 {
451 97x op.h = h;
452 97x op.ex = ex;
453 97x op.ec_out = ec;
454 97x op.bytes_out = bytes_out;
455 97x op.start(token, static_cast<Derived*>(this));
456
2/8
✓ Branch 0 taken 93 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
97x op.impl_ptr = this->shared_from_this();
457 97x op.complete(EBADF, 0);
458 97x this->svc_.post(&op);
459 97x return std::noop_coroutine();
460 }
461
462 937182x capy::mutable_buffer bufs[ReadOp::max_buffers];
463 937182x op.iovec_count = static_cast<int>(param.copy_to(bufs, ReadOp::max_buffers));
464
465
10/24
✓ Branch 0 taken 485438 times.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 485429 times.
✓ Branch 3 taken 9 times.
✓ Branch 4 taken 485429 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 451740 times.
✓ Branch 7 taken 2 times.
✓ Branch 8 taken 451735 times.
✓ Branch 9 taken 5 times.
✓ Branch 10 taken 451735 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
937182x if (op.iovec_count == 0 || (op.iovec_count == 1 && bufs[0].size() == 0))
466 {
467 4x op.empty_buffer_read = true;
468 4x op.h = h;
469 4x op.ex = ex;
470 4x op.ec_out = ec;
471 4x op.bytes_out = bytes_out;
472 4x op.start(token, static_cast<Derived*>(this));
473
2/8
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
4x op.impl_ptr = this->shared_from_this();
474 4x op.complete(0, 0);
475 4x this->svc_.post(&op);
476 4x return std::noop_coroutine();
477 }
478
479
4/8
✓ Branch 0 taken 485449 times.
✓ Branch 1 taken 485438 times.
✓ Branch 2 taken 451747 times.
✓ Branch 3 taken 451740 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1874374x for (int i = 0; i < op.iovec_count; ++i)
480 {
481 937196x op.iovecs[i].iov_base = bufs[i].data();
482 937196x op.iovecs[i].iov_len = bufs[i].size();
483 937196x }
484
485 // Speculative read; for the single-buffer case use recv() so the
486 // kernel skips the readv iov_iter setup.
487 ssize_t n;
488
4/8
✓ Branch 0 taken 485429 times.
✓ Branch 1 taken 9 times.
✓ Branch 2 taken 451735 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
937178x if (op.iovec_count == 1)
489 {
490 937164x do
491 {
492 937166x n = ::recv(this->fd_, bufs[0].data(), bufs[0].size(), 0);
493 1874330x }
494
4/8
✓ Branch 0 taken 430727 times.
✓ Branch 1 taken 54703 times.
✓ Branch 2 taken 407022 times.
✓ Branch 3 taken 44714 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
937166x while (n < 0 && errno == EINTR);
495 937164x }
496 else
497 {
498 14x do
499 {
500 16x n = ::readv(this->fd_, op.iovecs, op.iovec_count);
501 30x }
502
4/8
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 7 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
16x while (n < 0 && errno == EINTR);
503 }
504
505
10/24
✓ Branch 0 taken 54708 times.
✓ Branch 1 taken 430730 times.
✓ Branch 2 taken 16 times.
✓ Branch 3 taken 54692 times.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 44716 times.
✓ Branch 7 taken 407024 times.
✓ Branch 8 taken 4 times.
✓ Branch 9 taken 44712 times.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
937178x if (n >= 0 || (errno != EAGAIN && errno != EWOULDBLOCK))
506 {
507
4/8
✓ Branch 0 taken 430730 times.
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 407024 times.
✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
837774x int err = (n < 0) ? errno : 0;
508
4/8
✓ Branch 0 taken 430711 times.
✓ Branch 1 taken 35 times.
✓ Branch 2 taken 407018 times.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
837774x auto bytes = (n > 0) ? static_cast<std::size_t>(n) : std::size_t(0);
509
510
4/8
✓ Branch 0 taken 346173 times.
✓ Branch 1 taken 84573 times.
✓ Branch 2 taken 326500 times.
✓ Branch 3 taken 80528 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
837774x if (this->svc_.scheduler().try_consume_inline_budget())
511 {
512
4/8
✓ Branch 0 taken 14 times.
✓ Branch 1 taken 346159 times.
✓ Branch 2 taken 4 times.
✓ Branch 3 taken 326496 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
672673x if (err)
513 18x *ec = make_err(err);
514
4/8
✓ Branch 0 taken 346143 times.
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 326490 times.
✓ Branch 3 taken 6 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
672655x else if (n == 0)
515 22x *ec = capy::error::eof;
516 else
517 672633x *ec = {};
518 672673x *bytes_out = bytes;
519 672673x op.cont.h = h;
520 672673x return dispatch_coro(ex, op.cont);
521 }
522 165101x op.h = h;
523 165101x op.ex = ex;
524 165101x op.ec_out = ec;
525 165101x op.bytes_out = bytes_out;
526 165101x op.start(token, static_cast<Derived*>(this));
527
2/8
✓ Branch 0 taken 84573 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 80528 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
165101x op.impl_ptr = this->shared_from_this();
528 165101x op.complete(err, bytes);
529 165101x this->svc_.post(&op);
530 165101x return std::noop_coroutine();
531 }
532
533 // EAGAIN — register with reactor
534 99404x op.h = h;
535 99404x op.ex = ex;
536 99404x op.ec_out = ec;
537 99404x op.bytes_out = bytes_out;
538 99404x op.fd = this->fd_;
539 99404x op.start(token, static_cast<Derived*>(this));
540
2/8
✓ Branch 0 taken 54692 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 44712 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
99404x op.impl_ptr = this->shared_from_this();
541
542 198808x this->register_op(
543 99404x op, this->desc_state_.read_op, this->desc_state_.read_ready);
544 99404x return std::noop_coroutine();
545 937279x }
546
547 template<
548 class Derived,
549 class Service,
550 class ConnOp,
551 class ReadOp,
552 class WriteOp,
553 class WaitOp,
554 class DescState,
555 class ImplBase,
556 class Endpoint>
557 std::coroutine_handle<>
558 reactor_stream_socket<
559 Derived,
560 Service,
561 ConnOp,
562 ReadOp,
563 WriteOp,
564 WaitOp,
565 DescState,
566 ImplBase,
567 Endpoint>::
568 1058932x do_write_some(
569 std::coroutine_handle<> h,
570 capy::executor_ref ex,
571 buffer_param param,
572 std::stop_token const& token,
573 std::error_code* ec,
574 std::size_t* bytes_out)
575 {
576 1058932x auto& op = wr_;
577 1058932x op.reset();
578
579 // Closed-object contract: complete with bad_file_descriptor without
580 // touching the kernel or the unregistered descriptor state.
581
4/8
✓ Branch 0 taken 606092 times.
✓ Branch 1 taken 59 times.
✓ Branch 2 taken 452776 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1058932x if (this->fd_ < 0)
582 {
583 64x op.h = h;
584 64x op.ex = ex;
585 64x op.ec_out = ec;
586 64x op.bytes_out = bytes_out;
587 64x op.start(token, static_cast<Derived*>(this));
588 64x op.impl_ptr = this->shared_from_this();
589 64x op.complete(EBADF, 0);
590 64x this->svc_.post(&op);
591 64x return std::noop_coroutine();
592 }
593
594 1058868x capy::mutable_buffer bufs[WriteOp::max_buffers];
595 1058868x op.iovec_count =
596 1058868x static_cast<int>(param.copy_to(bufs, WriteOp::max_buffers));
597
598
10/24
✓ Branch 0 taken 606090 times.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 606083 times.
✓ Branch 3 taken 7 times.
✓ Branch 4 taken 606083 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 452774 times.
✓ Branch 7 taken 2 times.
✓ Branch 8 taken 452769 times.
✓ Branch 9 taken 5 times.
✓ Branch 10 taken 452769 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
1058868x if (op.iovec_count == 0 || (op.iovec_count == 1 && bufs[0].size() == 0))
599 {
600 4x op.h = h;
601 4x op.ex = ex;
602 4x op.ec_out = ec;
603 4x op.bytes_out = bytes_out;
604 4x op.start(token, static_cast<Derived*>(this));
605 4x op.impl_ptr = this->shared_from_this();
606 4x op.complete(0, 0);
607 4x this->svc_.post(&op);
608 4x return std::noop_coroutine();
609 }
610
611
4/8
✓ Branch 0 taken 606099 times.
✓ Branch 1 taken 606090 times.
✓ Branch 2 taken 452781 times.
✓ Branch 3 taken 452774 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
2117744x for (int i = 0; i < op.iovec_count; ++i)
612 {
613 1058880x op.iovecs[i].iov_base = bufs[i].data();
614 1058880x op.iovecs[i].iov_len = bufs[i].size();
615 1058880x }
616
617 // Speculative write; the single-buffer case dispatches to a
618 // backend-specific fast path so the kernel skips msghdr/iov_iter
619 // setup (and so each backend can pick the right SIGPIPE strategy).
620 ssize_t n;
621
4/8
✓ Branch 0 taken 606083 times.
✓ Branch 1 taken 7 times.
✓ Branch 2 taken 452769 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1058864x if (op.iovec_count == 1)
622 {
623 1058852x n = WriteOp::write_policy::write_one(
624 1058852x this->fd_, bufs[0].data(), bufs[0].size());
625 1058852x }
626 else
627 {
628 12x n = WriteOp::write_policy::write(this->fd_, op.iovecs, op.iovec_count);
629 }
630
631
10/24
✓ Branch 0 taken 519 times.
✓ Branch 1 taken 605571 times.
✓ Branch 2 taken 6 times.
✓ Branch 3 taken 513 times.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 504 times.
✓ Branch 7 taken 452270 times.
✓ Branch 8 taken 5 times.
✓ Branch 9 taken 499 times.
✓ Branch 10 taken 5 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
1058864x if (n >= 0 || (errno != EAGAIN && errno != EWOULDBLOCK))
632 {
633
4/8
✓ Branch 0 taken 605571 times.
✓ Branch 1 taken 6 times.
✓ Branch 2 taken 452270 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1057852x int err = (n < 0) ? errno : 0;
634
4/8
✓ Branch 0 taken 605571 times.
✓ Branch 1 taken 6 times.
✓ Branch 2 taken 452270 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1057852x auto bytes = (n > 0) ? static_cast<std::size_t>(n) : std::size_t(0);
635
636
4/8
✓ Branch 0 taken 490340 times.
✓ Branch 1 taken 115237 times.
✓ Branch 2 taken 370608 times.
✓ Branch 3 taken 81667 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
1057852x if (this->svc_.scheduler().try_consume_inline_budget())
637 {
638
4/8
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 490337 times.
✓ Branch 2 taken 3 times.
✓ Branch 3 taken 370605 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
860948x *ec = err ? make_err(err) : std::error_code{};
639 860948x *bytes_out = bytes;
640 860948x op.cont.h = h;
641 860948x return dispatch_coro(ex, op.cont);
642 }
643 196904x op.h = h;
644 196904x op.ex = ex;
645 196904x op.ec_out = ec;
646 196904x op.bytes_out = bytes_out;
647 196904x op.start(token, static_cast<Derived*>(this));
648 196904x op.impl_ptr = this->shared_from_this();
649 196904x op.complete(err, bytes);
650 196904x this->svc_.post(&op);
651 196904x return std::noop_coroutine();
652 }
653
654 // EAGAIN — register with reactor
655 1012x op.h = h;
656 1012x op.ex = ex;
657 1012x op.ec_out = ec;
658 1012x op.bytes_out = bytes_out;
659 1012x op.fd = this->fd_;
660 1012x op.start(token, static_cast<Derived*>(this));
661 1012x op.impl_ptr = this->shared_from_this();
662
663 2024x this->register_op(
664 1012x op, this->desc_state_.write_op, this->desc_state_.write_ready, true);
665 1012x return std::noop_coroutine();
666 1058932x }
667
668 template<
669 class Derived,
670 class Service,
671 class ConnOp,
672 class ReadOp,
673 class WriteOp,
674 class WaitOp,
675 class DescState,
676 class ImplBase,
677 class Endpoint>
678 std::coroutine_handle<>
679 reactor_stream_socket<
680 Derived,
681 Service,
682 ConnOp,
683 ReadOp,
684 WriteOp,
685 WaitOp,
686 DescState,
687 ImplBase,
688 Endpoint>::
689 94x do_wait(
690 std::coroutine_handle<> h,
691 capy::executor_ref ex,
692 wait_type w,
693 std::stop_token const& token,
694 std::error_code* ec)
695 {
696 // Pick refs up-front to avoid duplicating the register_op call.
697 WaitOp* op_ptr;
698 reactor_op_base** desc_slot_ptr;
699 std::uint32_t event;
700
701
4/8
✓ Branch 0 taken 19 times.
✓ Branch 1 taken 29 times.
✓ Branch 2 taken 20 times.
✓ Branch 3 taken 26 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
94x if (w == wait_type::read)
702 {
703 55x op_ptr = &wait_rd_;
704 55x desc_slot_ptr = &this->desc_state_.wait_read_op;
705 55x event = reactor_event_read;
706 55x }
707
4/8
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 9 times.
✓ Branch 2 taken 11 times.
✓ Branch 3 taken 9 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
39x else if (w == wait_type::write)
708 {
709 21x op_ptr = &wait_wr_;
710 21x desc_slot_ptr = &this->desc_state_.wait_write_op;
711 21x event = reactor_event_write;
712 21x }
713 else // wait_type::error
714 {
715 18x op_ptr = &wait_er_;
716 18x desc_slot_ptr = &this->desc_state_.wait_error_op;
717 18x event = reactor_event_error;
718 }
719
720 94x auto& op = *op_ptr;
721
722 // Speculative probe, mirroring the speculative read: an
723 // edge-triggered reactor cannot report a condition that already
724 // holds, so a wait initiated on an already-ready socket would
725 // otherwise park forever.
726 94x int perr = 0;
727
4/8
✓ Branch 0 taken 20 times.
✓ Branch 1 taken 28 times.
✓ Branch 2 taken 20 times.
✓ Branch 3 taken 26 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
94x if (WaitOp::probe(this->fd_, event, perr))
728 {
729
4/8
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 16 times.
✓ Branch 2 taken 4 times.
✓ Branch 3 taken 16 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
40x if (this->svc_.scheduler().try_consume_inline_budget())
730 {
731
2/8
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
8x *ec = perr ? make_err(perr) : std::error_code{};
732 8x op.cont.h = h;
733 8x return dispatch_coro(ex, op.cont);
734 }
735 32x op.reset();
736 32x op.wait_event = event;
737 32x op.h = h;
738 32x op.ex = ex;
739 32x op.ec_out = ec;
740 32x op.fd = this->fd_;
741 32x op.start(token, static_cast<Derived*>(this));
742 32x op.impl_ptr = this->shared_from_this();
743 32x op.complete(perr, 0);
744 32x this->svc_.post(&op);
745 32x return std::noop_coroutine();
746 }
747
748 54x op.reset();
749 54x op.wait_event = event;
750 54x op.h = h;
751 54x op.ex = ex;
752 54x op.ec_out = ec;
753 54x op.fd = this->fd_;
754 54x op.start(token, static_cast<Derived*>(this));
755 54x op.impl_ptr = this->shared_from_this();
756
757 // Force register_op's ready path so the wait op re-probes under
758 // the descriptor mutex before parking. An edge consumed between
759 // the speculative probe above and the park (a concurrent short
760 // read, or an error event dispatched to an empty slot) would
761 // otherwise leave the wait parked on a ready socket.
762 54x bool force_probe = true;
763 108x this->register_op(
764 54x op, *desc_slot_ptr, force_probe, event == reactor_event_write);
765 54x return std::noop_coroutine();
766 94x }
767
768 } // namespace boost::corosio::detail
769
770 #endif // BOOST_COROSIO_NATIVE_DETAIL_REACTOR_REACTOR_STREAM_SOCKET_HPP
771