aboutsummaryrefslogtreecommitdiff
path: root/libcmix-network/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix-network/client.cpp')
-rw-r--r--libcmix-network/client.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/libcmix-network/client.cpp b/libcmix-network/client.cpp
index 7c95234..9293bd1 100644
--- a/libcmix-network/client.cpp
+++ b/libcmix-network/client.cpp
@@ -16,7 +16,7 @@ using namespace boost::system;
Client::Client(tcp::socket &&socket)
: socket(std::move(socket))
-, buffer()
+, buffer(new boost::asio::streambuf())
, done()
{}
@@ -61,8 +61,8 @@ void Client::send(std::string message) {
std::vector<uint8_t> Client::received_bytes_to_vector(size_t read_bytes)
{
- buffer.commit(read_bytes);
- std::istream is(&buffer);
+ buffer->commit(read_bytes);
+ std::istream is(buffer.get());
is.unsetf(std::ios::skipws);
return std::vector<uint8_t>(std::istream_iterator<uint8_t>(is), {});
@@ -92,7 +92,7 @@ void Client::handle_receive_size(Client::MessageHandler message_handler, const e
size = ntohl(size);
socket.async_receive(
- buffer.prepare(size),
+ buffer->prepare(size),
boost::bind(&Client::handle_receive_message, this, message_handler, error(), bytes_transferred())
);
} else {
@@ -107,7 +107,7 @@ void Client::receive(MessageHandler message_handler) {
using namespace boost::asio::placeholders;
socket.async_receive(
- buffer.prepare(4),
+ buffer->prepare(4),
boost::bind(&Client::handle_receive_size, this, message_handler, error(), bytes_transferred())
);
}