conexus logo

Conexus::SSL::IPv4::TCP Class Reference

#include <ipv4_tcp.h>

Inheritance diagram for Conexus::SSL::IPv4::TCP:

Inheritance graph
[legend]

List of all members.

Public Types

typedef ConexusPointer< TCPpointer

Public Member Functions

 ~TCP () throw ()
virtual void open () throw ( open_exception )
virtual void connect () throw ( connect_exception )
virtual void connect (const Conexus::IPv4::Address &a) throw ( connect_exception )

Static Public Member Functions

static pointer create (Context::pointer context, uint16_t port=0)
static pointer create (Context::pointer context, uint32_t address, uint16_t port)
static pointer create (Context::pointer context, const std::string &address, uint16_t port=0)

Protected Member Functions

 TCP (Context::pointer context, int accepted_fd, bool)
 Protected constructor to be used by TCPServer to create TCP connections.
virtual size_t write_data (const Data data, Timeout timeout) throw ( write_exception )
virtual Data read_data (size_t s, Timeout timeout) throw ( read_exception )

Static Protected Member Functions

static TCP::pointer create (Context::pointer context, int accepted_fd, bool)

Private Member Functions

 TCP (Context::pointer context, uint32_t address=INADDR_ANY, uint16_t port=0)
 TCP (Context::pointer context, const std::string &address, uint16_t port)

Private Attributes

bool m_want_write
 Internally used when an SSL_read indicates that it needs to block on write.
bool m_want_read
 Similar to m_want_write, this is used to indicate a write blocked on a WANT_READ.

Friends

class TCPServer


Detailed Description

Author:
Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>

Member Typedef Documentation

typedef ConexusPointer<TCP> Conexus::SSL::IPv4::TCP::pointer

Reimplemented from Conexus::IPv4::TCP.


Constructor & Destructor Documentation

Conexus::SSL::IPv4::TCP::TCP ( Context::pointer  context,
uint32_t  address = INADDR_ANY,
uint16_t  port = 0 
) [private]

Conexus::SSL::IPv4::TCP::TCP ( Context::pointer  context,
const std::string &  address,
uint16_t  port 
) [private]

Conexus::SSL::IPv4::TCP::~TCP (  )  throw () [virtual]

Reimplemented from Conexus::IPv4::TCP.

Conexus::SSL::IPv4::TCP::TCP ( Context::pointer  context,
int  accepted_fd,
bool  b 
) [protected]

Protected constructor to be used by TCPServer to create TCP connections.

The second bool parameter is used to differentiate the public method from the private method.

References Conexus::FileDescriptor::m_fd, and Conexus::SSL::SSL::set_bio().


Member Function Documentation

void Conexus::SSL::IPv4::TCP::connect ( const Conexus::IPv4::Address a  )  throw ( connect_exception ) [virtual]

Reimplemented from Conexus::IPv4::IP.

References Conexus::IPv4::IP::connect().

void Conexus::SSL::IPv4::TCP::connect (  )  throw ( connect_exception ) [virtual]

Reimplemented from Conexus::IPv4::IP.

References Conexus::SSL::SSL::ssl_connect().

TCP::pointer Conexus::SSL::IPv4::TCP::create ( Context::pointer  context,
int  accepted_fd,
bool  b 
) [static, protected]

TCP::pointer Conexus::SSL::IPv4::TCP::create ( Context::pointer  context,
const std::string &  address,
uint16_t  port = 0 
) [static]

TCP::pointer Conexus::SSL::IPv4::TCP::create ( Context::pointer  context,
uint32_t  address,
uint16_t  port 
) [static]

TCP::pointer Conexus::SSL::IPv4::TCP::create ( Context::pointer  context,
uint16_t  port = 0 
) [static]

void Conexus::SSL::IPv4::TCP::open (  )  throw ( open_exception ) [virtual]

Data Conexus::SSL::IPv4::TCP::read_data ( size_t  s,
Timeout  timeout 
) throw ( read_exception ) [protected, virtual]

size_t Conexus::SSL::IPv4::TCP::write_data ( const Data  data,
Timeout  timeout 
) throw ( write_exception ) [protected, virtual]


Friends And Related Function Documentation

friend class TCPServer [friend]

Reimplemented from Conexus::IPv4::TCP.


Member Data Documentation

Similar to m_want_write, this is used to indicate a write blocked on a WANT_READ.

Again, with a write we are not concerned with a WANT_WRITE since that is the normal blocking condition.

Internally used when an SSL_read indicates that it needs to block on write.

For SSL_read we are not concerned with WANT_READ since the block on read is the normal condition when reading.


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

Generated on Wed Jul 8 15:51:29 2009 for conexus by doxygen 1.5.8