Hi Here is how I call the function I have splitted it in two like this, because the protocol specifies a timeout pr. character and not pr. message std::vector<uint8_t> receive(boost::asio::io_service & io, boost::asio::serial_port & cctalk_port, size_t size){ std::vector<uint8_t> v; size_t i = 0; while( i < size ) { std::vector<uint8_t> _v = receive(io, cctalk_port); copy(_v.begin(), _v.end(), std::back_inserter(v)); i += _v.size(); cout << "Received: " << v.size() << "/" << size << endl; } return v; } On Mon, Aug 8, 2011 at 2:32 PM, Igor R <boost.lists@gmail.com> wrote:
boost::asio::async_read( cctalk_port, result, boost::asio::transfer_at_least(1), boost::bind( &set_result, &read_result, _1 ));
The above call promises you to read 1 byte. After it completes, where do you start another one? _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users