#pragma once #include #include "acceptor.hpp" struct ListenSettings { bool enable_ipv4; std::string ipv4_inaddr; bool enable_ipv6; std::string ipv6_inaddr; uint16_t port; }; class Server { public: typedef std::function AcceptHandler; private: ListenSettings const& listen_settings; Acceptor v4_acceptor; Acceptor v6_acceptor; public: Server(boost::asio::io_service& io_service, ListenSettings const& listen_settings, AcceptHandler accept_handler); };