diff options
Diffstat (limited to 'network-handler/server.hpp')
| -rw-r--r-- | network-handler/server.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/network-handler/server.hpp b/network-handler/server.hpp new file mode 100644 index 0000000..942cb14 --- /dev/null +++ b/network-handler/server.hpp @@ -0,0 +1,29 @@ +#pragma once + +#include <boost/asio/io_service.hpp> + +#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<void(boost::asio::ip::tcp::socket&& socket)> 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); + +}; |
