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

100.0% Lines (1 / 1) -% Branches (0 / 0) 100.0% Functions (28 / 28)
reactor_service_state.hpp
f(x) Functions (28)
Function Calls Lines Branches Blocks
boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_descriptor>::~reactor_service_state() :27 118x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_local_datagram_socket>::~reactor_service_state() :27 150x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_local_stream_acceptor>::~reactor_service_state() :27 106x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_local_stream_socket>::~reactor_service_state() :27 224x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_tcp_acceptor>::~reactor_service_state() :27 1744x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_tcp_socket>::~reactor_service_state() :27 2176x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_udp_socket>::~reactor_service_state() :27 226x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_descriptor>::~reactor_service_state() :27 116x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_local_datagram_socket>::~reactor_service_state() :27 146x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_local_stream_acceptor>::~reactor_service_state() :27 102x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_local_stream_socket>::~reactor_service_state() :27 216x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_tcp_acceptor>::~reactor_service_state() :27 806x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_tcp_socket>::~reactor_service_state() :27 932x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_udp_socket>::~reactor_service_state() :27 222x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_descriptor>::reactor_service_state(boost::corosio::detail::kqueue_scheduler&) :30 118x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_local_datagram_socket>::reactor_service_state(boost::corosio::detail::kqueue_scheduler&) :30 150x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_local_stream_acceptor>::reactor_service_state(boost::corosio::detail::kqueue_scheduler&) :30 106x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_local_stream_socket>::reactor_service_state(boost::corosio::detail::kqueue_scheduler&) :30 224x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_tcp_acceptor>::reactor_service_state(boost::corosio::detail::kqueue_scheduler&) :30 1744x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_tcp_socket>::reactor_service_state(boost::corosio::detail::kqueue_scheduler&) :30 2174x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::kqueue_scheduler, boost::corosio::detail::kqueue_udp_socket>::reactor_service_state(boost::corosio::detail::kqueue_scheduler&) :30 226x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_descriptor>::reactor_service_state(boost::corosio::detail::select_scheduler&) :30 116x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_local_datagram_socket>::reactor_service_state(boost::corosio::detail::select_scheduler&) :30 146x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_local_stream_acceptor>::reactor_service_state(boost::corosio::detail::select_scheduler&) :30 102x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_local_stream_socket>::reactor_service_state(boost::corosio::detail::select_scheduler&) :30 216x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_tcp_acceptor>::reactor_service_state(boost::corosio::detail::select_scheduler&) :30 806x 0.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_tcp_socket>::reactor_service_state(boost::corosio::detail::select_scheduler&) :30 932x 100.0% – 100.0% boost::corosio::detail::reactor_service_state<boost::corosio::detail::select_scheduler, boost::corosio::detail::select_udp_socket>::reactor_service_state(boost::corosio::detail::select_scheduler&) :30 222x 100.0% – 100.0%
Line Branch TLA Hits Source Code
1 //
2 // Copyright (c) 2026 Steve Gerbino
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // Official repository: https://github.com/cppalliance/corosio
8 //
9
10 #ifndef BOOST_COROSIO_NATIVE_DETAIL_REACTOR_REACTOR_SERVICE_STATE_HPP
11 #define BOOST_COROSIO_NATIVE_DETAIL_REACTOR_REACTOR_SERVICE_STATE_HPP
12
13 #include <boost/corosio/detail/object_pool.hpp>
14 #include <boost/corosio/detail/intrusive.hpp>
15
16 namespace boost::corosio::detail {
17
18 /** Shared service state for reactor backends.
19
20 Holds the scheduler reference and the impl recycling pool. Used
21 by both socket and acceptor services.
22
23 @tparam Scheduler The backend's scheduler type.
24 @tparam Impl The backend's socket or acceptor impl type.
25 */
26 template<class Scheduler, class Impl>
27 struct reactor_service_state
28 {
29 /// Construct with a reference to the owning scheduler.
30 7282x explicit reactor_service_state(Scheduler& sched) noexcept : sched_(sched) {}
31
32 /// Reference to the owning scheduler.
33 Scheduler& sched_;
34
35 /// Owns every impl: live for shutdown traversal, free for reuse.
36 object_pool<Impl> pool_;
37 };
38
39 } // namespace boost::corosio::detail
40
41 #endif // BOOST_COROSIO_NATIVE_DETAIL_REACTOR_REACTOR_SERVICE_STATE_HPP
42