pion::tcp::stream Class Reference

`#include <stream.hpp>`

Inherits std::basic_iostream< Char >.

## Public Types

typedef char | char_type
typedef std::char_traits< char >::int_type | int_type
typedef std::char_traits< char >::off_type | off_type
typedef std::char_traits< char >::pos_type | pos_type
typedef std::char_traits< char > | traits_type

## Public Member Functions

| stream (const tcp::connection_ptr &conn_ptr)
| stream (boost::asio::io_service &io_service, const bool ssl_flag=false)
| stream (boost::asio::io_service &io_service, connection::ssl_context_type &ssl_context)
boost::system::error_code | accept (boost::asio::ip::tcp::acceptor &tcp_acceptor)
boost::system::error_code | connect (boost::asio::ip::tcp::endpoint &tcp_endpoint)
boost::system::error_code | connect (const boost::asio::ip::address &remote_addr, const unsigned int remote_port)
void | close (void)
| closes the tcp connection
bool | is_open (void) const
| returns true if the connection is currently open
bool | get_ssl_flag (void) const
| returns true if the connection is encrypted using SSL
boost::asio::ip::address | get_remote_ip (void) const
| returns the client's IP address
stream_buffer * | rdbuf (void)
| returns a pointer to the stream buffer in use

## Detailed Description

stream: std::basic_iostream wrapper for TCP network connections

Definition at line 323 of file stream.hpp.

## Constructor & Destructor Documentation

## stream() [1/3]

pion::tcp::stream::stream | ( | const tcp::connection_ptr & | conn_ptr | ) |

inline explicit

constructs a TCP stream object for an existing TCP connection

Parameters

  conn_ptr | pointer to the TCP connection to use for reading & writing

Definition at line 341 of file stream.hpp.

## stream() [2/3]

pion::tcp::stream::stream | ( | boost::asio::io_service & | io_service,
|  | const bool | ssl_flag = `false`
| ) |  |

inline explicit

constructs a TCP stream object for a new TCP connection

Parameters

  io_service | asio service associated with the connection
  ssl_flag | if true then the connection will be encrypted using SSL

Definition at line 354 of file stream.hpp.

## stream() [3/3]

pion::tcp::stream::stream | ( | boost::asio::io_service & | io_service,
|  | connection::ssl_context_type & | ssl_context
| ) |  |

inline

constructs a TCP stream object for a new SSL/TCP connection

Parameters

  io_service | asio service associated with the connection
  ssl_context | asio ssl context associated with the connection

Definition at line 368 of file stream.hpp.

## Member Function Documentation

## accept()

boost::system::error_code pion::tcp::stream::accept | ( | boost::asio::ip::tcp::acceptor & | tcp_acceptor | ) |

inline

accepts a new tcp connection and performs SSL handshake if necessary

Parameters

  tcp_acceptor | object used to accept new connections

Returns
  boost::system::error_code contains error code if the connection fails

See also
  boost::asio::basic_socket_acceptor::accept()

Definition at line 384 of file stream.hpp.

## connect() [1/2]

boost::system::error_code pion::tcp::stream::connect | ( | boost::asio::ip::tcp::endpoint & | tcp_endpoint | ) |

inline

connects to a remote endpoint and performs SSL handshake if necessary

Parameters

  tcp_endpoint | remote endpoint to connect to

Returns
  boost::system::error_code contains error code if the connection fails

See also
  boost::asio::basic_socket_acceptor::connect()

Definition at line 399 of file stream.hpp.

## connect() [2/2]

boost::system::error_code pion::tcp::stream::connect | ( | const boost::asio::ip::address & | remote_addr,
|  | const unsigned int | remote_port
| ) |  |

inline

connects to a (IPv4) remote endpoint and performs SSL handshake if necessary

Parameters

  remote_addr | remote IP address (v4) to connect to
  remote_port | remote port number to connect to

Returns
  boost::system::error_code contains error code if the connection fails

See also
  boost::asio::basic_socket_acceptor::connect()

Definition at line 415 of file stream.hpp.

The documentation for this class was generated from the following file:

- include/pion/tcp/stream.hpp