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/client.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/client.hpp')
| -rw-r--r-- | network-handler/client.hpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/network-handler/client.hpp b/network-handler/client.hpp new file mode 100644 index 0000000..878c5be --- /dev/null +++ b/network-handler/client.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include <boost/asio/ip/tcp.hpp> + +#include <array> + +class Client { +public: + typedef std::function<void(void)> OnDoneFT; + +private: + boost::asio::ip::tcp::socket socket; + std::array<uint8_t, 20> buffer; + OnDoneFT on_done; + + +public: + Client(boost::asio::ip::tcp::socket&& socket); + + void handle_receive(boost::system::error_code const& ec, size_t read_bytes); + void receive(); + void set_on_done(OnDoneFT f); +}; |
