23 TCP(openvpn_io::io_context &io_context)
29 const size_t acceptor_index,
30 openvpn_io::io_context &io_context)
override
34 [listener =
ListenerBase::Ptr(listener), sock](
const openvpn_io::error_code &error)
mutable
35 { listener->handle_accept(std::move(sock), error); });
40#ifdef OPENVPN_DEBUG_ACCEPT
58#if defined(OPENVPN_PLATFORM_WIN)
61 acceptor.set_option(openvpn_io::ip::tcp::acceptor::reuse_address(
true));
65 const int fd =
acceptor.native_handle();
67 SockOpt::reuseport(fd);
#define OPENVPN_LOG(args)
void set_cloexec(const int fd)
void reuseaddr(const int fd)
void async_accept(ListenerBase *listener, const size_t acceptor_index, openvpn_io::io_context &io_context) override
TCP(openvpn_io::io_context &io_context)
openvpn_io::ip::tcp::endpoint local_endpoint
openvpn_io::ip::tcp::acceptor acceptor
static unsigned int sockopt_flags(const unsigned int flags)
void set_socket_options(unsigned int flags)