
-----Original Message----- I have a std::vector of bytes that I am passing into boost::asio::buffer(). The vector originally is of size 0. Basically, I want the vector to be resized by asio depending on how much data is read in. I don't want to choose an arbitrary upper-limit for the buffer. Is this possible?
Below is an example of what I am doing:
std::vectorboost::uint8_t stream; m_port.async_read_some( boost::asio::buffer( stream ), boost::bind( &SerialClient::ReadCompleted, this, stream, error, bytes_transferred ) );
However, the above code will never read any data because my vector is 0 and it expects it to have a size.
You could use a boost::asio::streambuf object with the free function async_read. Something like: async_read(m_port, streambuf, completion_condition, handler); You could probably make a completion condition that always returns true to get notified whenever there is data available. However, I've never tried that. ~Dan