Adds buffering to the read-related operations of a stream. More...
#include <buffered_read_stream_fwd.hpp>
Public Types | |
typedef remove_reference < Stream >::type | next_layer_type |
The type of the next layer. More... | |
typedef next_layer_type::lowest_layer_type | lowest_layer_type |
The type of the lowest layer. More... | |
Public Member Functions | |
BOOST_ASIO_STATIC_CONSTANT (std::size_t, default_buffer_size=1024) | |
template<typename Arg > | |
buffered_read_stream (Arg &a) | |
Construct, passing the specified argument to initialise the next layer. More... | |
template<typename Arg > | |
buffered_read_stream (Arg &a, std::size_t buffer_size) | |
Construct, passing the specified argument to initialise the next layer. More... | |
next_layer_type & | next_layer () |
Get a reference to the next layer. More... | |
lowest_layer_type & | lowest_layer () |
Get a reference to the lowest layer. More... | |
const lowest_layer_type & | lowest_layer () const |
Get a const reference to the lowest layer. More... | |
boost::asio::io_service & | get_io_service () |
Get the io_service associated with the object. More... | |
void | close () |
Close the stream. More... | |
boost::system::error_code | close (boost::system::error_code &ec) |
Close the stream. More... | |
template<typename ConstBufferSequence > | |
std::size_t | write_some (const ConstBufferSequence &buffers) |
Write the given data to the stream. More... | |
template<typename ConstBufferSequence > | |
std::size_t | write_some (const ConstBufferSequence &buffers, boost::system::error_code &ec) |
Write the given data to the stream. More... | |
template<typename ConstBufferSequence , typename WriteHandler > | |
BOOST_ASIO_INITFN_RESULT_TYPE (WriteHandler, void(boost::system::error_code, std::size_t)) async_write_some(const ConstBufferSequence &buffers | |
Start an asynchronous write. More... | |
BOOST_ASIO_MOVE_ARG (WriteHandler) handler) | |
std::size_t | fill () |
Fill the buffer with some data. More... | |
std::size_t | fill (boost::system::error_code &ec) |
Fill the buffer with some data. More... | |
template<typename ReadHandler > | |
BOOST_ASIO_INITFN_RESULT_TYPE (ReadHandler, void(boost::system::error_code, std::size_t)) async_fill(BOOST_ASIO_MOVE_ARG(ReadHandler) handler) | |
Start an asynchronous fill. More... | |
template<typename MutableBufferSequence > | |
std::size_t | read_some (const MutableBufferSequence &buffers) |
Read some data from the stream. More... | |
template<typename MutableBufferSequence > | |
std::size_t | read_some (const MutableBufferSequence &buffers, boost::system::error_code &ec) |
Read some data from the stream. More... | |
template<typename MutableBufferSequence , typename ReadHandler > | |
BOOST_ASIO_INITFN_RESULT_TYPE (ReadHandler, void(boost::system::error_code, std::size_t)) async_read_some(const MutableBufferSequence &buffers | |
Start an asynchronous read. More... | |
BOOST_ASIO_MOVE_ARG (ReadHandler) handler) | |
template<typename MutableBufferSequence > | |
std::size_t | peek (const MutableBufferSequence &buffers) |
Peek at the incoming data on the stream. More... | |
template<typename MutableBufferSequence > | |
std::size_t | peek (const MutableBufferSequence &buffers, boost::system::error_code &ec) |
Peek at the incoming data on the stream. More... | |
std::size_t | in_avail () |
Determine the amount of data that may be read without blocking. More... | |
std::size_t | in_avail (boost::system::error_code &ec) |
Determine the amount of data that may be read without blocking. More... | |
Adds buffering to the read-related operations of a stream.
The buffered_read_stream class template can be used to add buffering to the synchronous and asynchronous read operations of a stream.
typedef next_layer_type::lowest_layer_type boost::asio::buffered_read_stream< Stream >::lowest_layer_type |
The type of the lowest layer.
typedef remove_reference<Stream>::type boost::asio::buffered_read_stream< Stream >::next_layer_type |
The type of the next layer.
|
inlineexplicit |
Construct, passing the specified argument to initialise the next layer.
|
inline |
Construct, passing the specified argument to initialise the next layer.
boost::asio::buffered_read_stream< Stream >::BOOST_ASIO_INITFN_RESULT_TYPE | ( | WriteHandler | , |
void(boost::system::error_code, std::size_t) | |||
) | const |
Start an asynchronous write.
The data being written must be valid for the lifetime of the asynchronous operation.
boost::asio::buffered_read_stream< Stream >::BOOST_ASIO_INITFN_RESULT_TYPE | ( | ReadHandler | , |
void(boost::system::error_code, std::size_t) | |||
) |
Start an asynchronous fill.
boost::asio::buffered_read_stream< Stream >::BOOST_ASIO_INITFN_RESULT_TYPE | ( | ReadHandler | , |
void(boost::system::error_code, std::size_t) | |||
) | const |
Start an asynchronous read.
The buffer into which the data will be read must be valid for the lifetime of the asynchronous operation.
|
inline |
boost::asio::buffered_read_stream< Stream >::BOOST_ASIO_MOVE_ARG | ( | ReadHandler | ) |
boost::asio::buffered_read_stream< Stream >::BOOST_ASIO_STATIC_CONSTANT | ( | std::size_t | , |
default_buffer_size | = 1024 |
||
) |
|
inline |
Close the stream.
Referenced by boost::asio::buffered_stream< Stream >::close().
|
inline |
Close the stream.
std::size_t boost::asio::buffered_read_stream< Stream >::fill | ( | ) |
Fill the buffer with some data.
Returns the number of bytes placed in the buffer as a result of the operation. Throws an exception on failure.
Referenced by boost::asio::buffered_stream< Stream >::fill().
std::size_t boost::asio::buffered_read_stream< Stream >::fill | ( | boost::system::error_code & | ec | ) |
Fill the buffer with some data.
Returns the number of bytes placed in the buffer as a result of the operation, or 0 if an error occurred.
|
inline |
Get the io_service associated with the object.
Referenced by boost::asio::buffered_stream< Stream >::get_io_service().
|
inline |
Determine the amount of data that may be read without blocking.
Referenced by boost::asio::buffered_stream< Stream >::in_avail().
|
inline |
Determine the amount of data that may be read without blocking.
|
inline |
Get a reference to the lowest layer.
Referenced by boost::asio::buffered_stream< Stream >::lowest_layer().
|
inline |
Get a const reference to the lowest layer.
|
inline |
Get a reference to the next layer.
Referenced by boost::asio::buffered_stream< Stream >::BOOST_ASIO_INITFN_RESULT_TYPE(), boost::asio::buffered_stream< Stream >::flush(), and boost::asio::buffered_stream< Stream >::next_layer().
std::size_t boost::asio::buffered_read_stream< Stream >::peek | ( | const MutableBufferSequence & | buffers | ) |
Peek at the incoming data on the stream.
Returns the number of bytes read. Throws an exception on failure.
Referenced by boost::asio::buffered_stream< Stream >::peek().
std::size_t boost::asio::buffered_read_stream< Stream >::peek | ( | const MutableBufferSequence & | buffers, |
boost::system::error_code & | ec | ||
) |
Peek at the incoming data on the stream.
Returns the number of bytes read, or 0 if an error occurred.
std::size_t boost::asio::buffered_read_stream< Stream >::read_some | ( | const MutableBufferSequence & | buffers | ) |
Read some data from the stream.
Returns the number of bytes read. Throws an exception on failure.
Referenced by boost::asio::buffered_stream< Stream >::read_some().
std::size_t boost::asio::buffered_read_stream< Stream >::read_some | ( | const MutableBufferSequence & | buffers, |
boost::system::error_code & | ec | ||
) |
Read some data from the stream.
Returns the number of bytes read or 0 if an error occurred.
|
inline |
Write the given data to the stream.
Returns the number of bytes written. Throws an exception on failure.
Referenced by boost::asio::buffered_stream< Stream >::write_some().
|
inline |
Write the given data to the stream.
Returns the number of bytes written, or 0 if an error occurred.