Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

websocket::stream::read_some (4 of 4 overloads)

Read some message data.

    class MutableBufferSequence>
    MutableBufferSequence const& buffers,
    error_code& ec);

This function is used to read some message data.

The call blocks until one of the following is true:

The algorithm, known as a composed operation, is implemented in terms of calls to the next layer's read_some and write_some functions.

The functions got_binary and got_text may be used to query the stream and determine the type of the last received message. The function is_message_done may be called to determine if the message received by the last read operation is complete.

Until the call returns, the implementation will read incoming control frames and handle them automatically as follows:

Return Value

The number of message payload bytes appended to the buffer.





A buffer sequence to write message data into. The previous contents of the buffers will be overwritten, starting from the beginning.


Set to indicate what error occurred, if any.

Per-Operation Cancellation

This asynchronous operation supports cancellation for the following net::cancellation_type values:

totalcancellation succeeds if the operation is suspended due to ongoing control operations such as a ping/pong.

terminal cancellation succeeds when supported by the underlying stream.

terminal cancellation leaves the stream in an undefined state, so that only closing it is guaranteed to succeed.