pion
5.0.6
|
#include <stream.hpp>
Inherits basic_streambuf< char, std::char_traits< char > >.
Public Member Functions | |
stream_buffer (tcp::connection_ptr &conn_ptr) | |
stream_buffer (boost::asio::io_service &io_service, const bool ssl_flag=false) | |
stream_buffer (boost::asio::io_service &io_service, connection::ssl_context_type &ssl_context) | |
virtual | ~stream_buffer () |
virtual destructor flushes the write buffer | |
connection & | get_connection (void) |
returns a reference to the current TCP connection | |
const connection & | get_connection (void) const |
returns a const reference to the current TCP connection | |
Protected Member Functions | |
void | setup_buffers (void) |
sets up the read and write buffers for input and output | |
int_type | flush_output (void) |
virtual int_type | underflow (void) |
virtual int_type | overflow (int_type c) |
virtual std::streamsize | xsputn (const char_type *s, std::streamsize n) |
virtual std::streamsize | xsgetn (char_type *s, std::streamsize n) |
virtual int_type | sync (void) |
stream_buffer: std::basic_streambuf wrapper for TCP network connections. Based in part on section 13.13.3 of "The Standard C++ Library" by Nicolai M. Josuttis, published in 1999 by Addison-Wesley
Definition at line 32 of file stream.hpp.
|
inlineexplicit |
constructs a TCP stream buffer object for an existing TCP connection
conn_ptr | pointer to the TCP connection to use for reading & writing |
Definition at line 56 of file stream.hpp.
References setup_buffers().
|
inlineexplicit |
constructs a TCP stream buffer object for a new TCP connection
io_service | asio service associated with the connection |
ssl_flag | if true then the connection will be encrypted using SSL |
Definition at line 68 of file stream.hpp.
References setup_buffers().
|
inline |
constructs a TCP stream buffer object for a new SSL/TCP connection
io_service | asio service associated with the connection |
ssl_context | asio ssl context associated with the connection |
Definition at line 82 of file stream.hpp.
References setup_buffers().
|
inlineprotected |
writes data in the output buffer to the TCP connection
Definition at line 115 of file stream.hpp.
Referenced by overflow(), sync(), and xsputn().
|
inlineprotectedvirtual |
this function is called when the write buffer for the stream is full
c | character that has not been written yet, or eof() if we are flushing |
Definition at line 182 of file stream.hpp.
References flush_output().
|
inlineprotectedvirtual |
synchronize buffers with the TCP connection
Definition at line 279 of file stream.hpp.
References flush_output().
Referenced by ~stream_buffer().
|
inlineprotectedvirtual |
this function is called when the read buffer has no more characters available
Definition at line 139 of file stream.hpp.
Referenced by xsgetn().
|
inlineprotectedvirtual |
reads a sequence of characters
s | pointer to where the sequence of characters will be stored |
n | number of characters in the sequence to read |
Definition at line 252 of file stream.hpp.
References underflow().
|
inlineprotectedvirtual |
writes a sequence of characters
s | pointer to a sequence of characters |
n | number of characters in the sequence to write |
Definition at line 203 of file stream.hpp.
References flush_output().