diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-08-29 13:29:30 +0200 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-08-29 13:29:30 +0200 |
| commit | a736abb4e3668771f248e7400a093cb40b5313b7 (patch) | |
| tree | ccd7b225f1138dc2743ee64aadc7bf11635c9bc9 /network-handler/acceptor.hpp | |
| parent | 00ab2cf6add2976b3a4e8f8cc488777ad5c27808 (diff) | |
| download | cmix-a736abb4e3668771f248e7400a093cb40b5313b7.tar.gz cmix-a736abb4e3668771f248e7400a093cb40b5313b7.tar.bz2 cmix-a736abb4e3668771f248e7400a093cb40b5313b7.zip | |
Adds the Acceptor and Client class.
The acceptor combines the endpoint and acceptor to reduce clutter in
NetworkHandler class.
The client will handle the connection for the network handler for every
separate client.
The networkhander now has a std::list of Client, to keep track and
ownership of all the Clients.
Diffstat (limited to 'network-handler/acceptor.hpp')
| -rw-r--r-- | network-handler/acceptor.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/network-handler/acceptor.hpp b/network-handler/acceptor.hpp new file mode 100644 index 0000000..7d8e0a2 --- /dev/null +++ b/network-handler/acceptor.hpp @@ -0,0 +1,18 @@ +#pragma once + +#include <boost/asio/ip/tcp.hpp> + +#include <functional> + +class Acceptor{ + boost::asio::ip::tcp::acceptor acceptor; + boost::asio::ip::tcp::endpoint endpoint; + +public: + Acceptor(boost::asio::io_service& io_service, boost::asio::ip::address address, uint16_t port); + + boost::asio::ip::address get_address() { return endpoint.address(); } + + void bind_v6_and_v4_any(std::function<void(boost::asio::ip::tcp::socket&&)> accept_handler); + void setup_listen_socket(std::function<void(boost::asio::ip::tcp::socket&&)> accept_handler); +}; |
