Adds buffering to the write-related operations of a stream. More...
#include <buffered_write_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_write_stream (Arg &a) | |
Construct, passing the specified argument to initialise the next layer. More... | |
template<typename Arg > | |
buffered_write_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... | |
std::size_t | flush () |
Flush all data from the buffer to the next layer. More... | |
std::size_t | flush (boost::system::error_code &ec) |
Flush all data from the buffer to the next layer. More... | |
template<typename WriteHandler > | |
BOOST_ASIO_INITFN_RESULT_TYPE (WriteHandler, void(boost::system::error_code, std::size_t)) async_flush(BOOST_ASIO_MOVE_ARG(WriteHandler) handler) | |
Start an asynchronous flush. 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) | |
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 write-related operations of a stream.
The buffered_write_stream class template can be used to add buffering to the synchronous and asynchronous write operations of a stream.
typedef next_layer_type::lowest_layer_type boost::asio::buffered_write_stream< Stream >::lowest_layer_type |
The type of the lowest layer.
typedef remove_reference<Stream>::type boost::asio::buffered_write_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_write_stream< Stream >::BOOST_ASIO_INITFN_RESULT_TYPE | ( | WriteHandler | , |
void(boost::system::error_code, std::size_t) | |||
) |
Start an asynchronous flush.
boost::asio::buffered_write_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_write_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.
boost::asio::buffered_write_stream< Stream >::BOOST_ASIO_MOVE_ARG | ( | WriteHandler | ) |
|
inline |
boost::asio::buffered_write_stream< Stream >::BOOST_ASIO_STATIC_CONSTANT | ( | std::size_t | , |
default_buffer_size | = 1024 |
||
) |
|
inline |
Close the stream.
|
inline |
Close the stream.
std::size_t boost::asio::buffered_write_stream< Stream >::flush | ( | ) |
Flush all data from the buffer to the next layer.
Returns the number of bytes written to the next layer on the last write operation. Throws an exception on failure.
std::size_t boost::asio::buffered_write_stream< Stream >::flush | ( | boost::system::error_code & | ec | ) |
Flush all data from the buffer to the next layer.
Returns the number of bytes written to the next layer on the last write operation, or 0 if an error occurred.
|
inline |
Get the io_service associated with the object.
|
inline |
Determine the amount of data that may be read without blocking.
|
inline |
Determine the amount of data that may be read without blocking.
|
inline |
Get a reference to the lowest layer.
|
inline |
Get a const reference to the lowest layer.
|
inline |
Get a reference to the next layer.
|
inline |
Peek at the incoming data on the stream.
Returns the number of bytes read. Throws an exception on failure.
|
inline |
Peek at the incoming data on the stream.
Returns the number of bytes read, or 0 if an error occurred.
|
inline |
Read some data from the stream.
Returns the number of bytes read. Throws an exception on failure.
|
inline |
Read some data from the stream.
Returns the number of bytes read or 0 if an error occurred.
std::size_t boost::asio::buffered_write_stream< Stream >::write_some | ( | const ConstBufferSequence & | buffers | ) |
Write the given data to the stream.
Returns the number of bytes written. Throws an exception on failure.
std::size_t boost::asio::buffered_write_stream< Stream >::write_some | ( | const ConstBufferSequence & | buffers, |
boost::system::error_code & | ec | ||
) |
Write the given data to the stream.
Returns the number of bytes written, or 0 if an error occurred and the error handler did not throw.