
10 Jan
2010
10 Jan
'10
5:48 a.m.
Hi,
I need to pass reference to this object to the socket::async_receive complete routine to complete message processing. This object allocates a lot of memory and I cannot create it for every socket. It is possible to create but there is no sense.
You can pass them using boost::bind: socket_.async_read_some(boost::asio::buffer(data_, max_length), boost::bind(&session::handle_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, boost::ref(largeObject))); Where: void session::handle_read(const boost::system::error_code& error, size_t bytes_transferred, LargeObject & largeObject) { ...... } Best Regards, Sergei