diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-08-26 11:21:41 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-08-26 11:21:41 +0200 |
| commit | 00ab2cf6add2976b3a4e8f8cc488777ad5c27808 (patch) | |
| tree | b9399bf912d949c289ff31edae8af2303dff7d26 /network-handler/networkhandler.hpp | |
| download | cmix-00ab2cf6add2976b3a4e8f8cc488777ad5c27808.tar.gz cmix-00ab2cf6add2976b3a4e8f8cc488777ad5c27808.tar.bz2 cmix-00ab2cf6add2976b3a4e8f8cc488777ad5c27808.zip | |
Initial commit, just some ideas and testing.
Diffstat (limited to 'network-handler/networkhandler.hpp')
| -rw-r--r-- | network-handler/networkhandler.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/network-handler/networkhandler.hpp b/network-handler/networkhandler.hpp new file mode 100644 index 0000000..d0eab6f --- /dev/null +++ b/network-handler/networkhandler.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include <boost/asio/io_service.hpp> +#include <boost/asio.hpp> + +#include <string> +#include <cstdint> +#include <list> + +struct ListenSettings { + bool enable_ipv4; + std::string ipv4_inaddr; + bool enable_ipv6; + std::string ipv6_inaddr; + uint16_t port; +}; + +class NetworkHandler +{ + ListenSettings const& listen_settings; + + boost::asio::io_service io_service; + boost::asio::ip::tcp::acceptor v4_acceptor; + boost::asio::ip::tcp::acceptor v6_acceptor; + boost::asio::ip::tcp::endpoint v4_endpoint; + boost::asio::ip::tcp::endpoint v6_endpoint; + + std::list<boost::asio::ip::tcp::socket> accepted_connections; + +public: + NetworkHandler(ListenSettings const& listen_settings); + + void run(); +}; |
