29#ifndef OPENVPN_ACCEPTOR_LISTENER_BASE_RC
30#define OPENVPN_ACCEPTOR_LISTENER_BASE_RC RC<thread_unsafe_refcount>
42struct Base :
RC<thread_unsafe_refcount>
47 const size_t acceptor_index,
48 openvpn_io::io_context &io_context) = 0;
58#ifdef OPENVPN_POLYSOCK_SUPPORTS_ALT_ROUTING
74struct Set : std::vector<Item>
78 std::ranges::for_each(*
this, [](
const auto &i)
79 { i.acceptor->close(); });
#define OPENVPN_ACCEPTOR_LISTENER_BASE_RC
Reference count base class for objects tracked by RCPtr. Disallows copying and assignment.
virtual void async_accept(ListenerBase *listener, const size_t acceptor_index, openvpn_io::io_context &io_context)=0
Item(Base::Ptr acceptor_arg, const SSLMode ssl_mode_arg)
virtual void handle_accept(AsioPolySock::Base::Ptr sock, const openvpn_io::error_code &error)=0