#ifndef seafire__common__io__tcp_acceptor_hxx_ #define seafire__common__io__tcp_acceptor_hxx_ #include #include #include namespace seafire::common::io { /// Implements an tcp acceptor. /// class tcp_acceptor_t : public acceptor_t { public: tcp_acceptor_t(asio::io_context&, asio::ip::tcp::endpoint const&); tcp_acceptor_t(tcp_acceptor_t const&) = delete; tcp_acceptor_t(tcp_acceptor_t&&) = delete; ~tcp_acceptor_t() noexcept override; asio::any_io_executor const& get_executor() override; void async_accept(accept_handler_t) override; tcp_acceptor_t& operator=(tcp_acceptor_t const&) = delete; tcp_acceptor_t& operator=(tcp_acceptor_t&&) = delete; private: asio::ip::tcp::acceptor acceptor_; }; } // namespace seafire::common::io #endif