aboutsummaryrefslogtreecommitdiff
path: root/network-handler/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'network-handler/client.cpp')
-rw-r--r--network-handler/client.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/network-handler/client.cpp b/network-handler/client.cpp
index 19b6f34..3098185 100644
--- a/network-handler/client.cpp
+++ b/network-handler/client.cpp
@@ -13,26 +13,26 @@ Client::Client(tcp::socket &&socket)
, buffer()
{}
-void Client::handle_receive(const error_code &ec, size_t read_bytes)
+void Client::handle_receive(MessageHandler message_handler, const error_code &ec, size_t read_bytes)
{
buffer.commit(read_bytes);
std::istream is(&buffer);
if(!ec) {
std::vector<uint8_t> data(std::istream_iterator<uint8_t>(is), {});
- handle_message(data);
- receive();
+ message_handler(data);
+ receive(message_handler);
} else {
done();
}
}
-void Client::receive() {
+void Client::receive(MessageHandler message_handler) {
using namespace boost::asio::placeholders;
socket.async_receive(
buffer.prepare(512),
- boost::bind(&Client::handle_receive, this, error(), bytes_transferred())
+ boost::bind(&Client::handle_receive, this, message_handler, error(), bytes_transferred())
);
}