
#include <ipv4_tcp.h>

Public Types | |
| typedef ConexusPointer< TCP > | pointer |
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 |
| typedef ConexusPointer<TCP> Conexus::SSL::IPv4::TCP::pointer |
Reimplemented from Conexus::IPv4::TCP.
| 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().
| void Conexus::SSL::IPv4::TCP::connect | ( | const Conexus::IPv4::Address & | a | ) | throw ( connect_exception ) [virtual] |
| void Conexus::SSL::IPv4::TCP::connect | ( | ) | throw ( connect_exception ) [virtual] |
| 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] |
Reimplemented from Conexus::Socket.
References Conexus::FileDescriptor::m_fd, and Conexus::SSL::SSL::set_bio().
| Data Conexus::SSL::IPv4::TCP::read_data | ( | size_t | s, | |
| Timeout | timeout | |||
| ) | throw ( read_exception ) [protected, virtual] |
Reimplemented from Conexus::Socket.
References Conexus::Data::resize(), Conexus::Data::set_current_time(), Conexus::Data::size(), Conexus::SOCKET_BOUND, Conexus::throw_read_exception(), and Conexus::throw_ssl_exception().
| size_t Conexus::SSL::IPv4::TCP::write_data | ( | const Data | data, | |
| Timeout | timeout | |||
| ) | throw ( write_exception ) [protected, virtual] |
Reimplemented from Conexus::IPv4::TCP.
References Conexus::SOCKET_CONNECTED, Conexus::throw_ssl_exception(), and Conexus::throw_write_exception().
friend class TCPServer [friend] |
Reimplemented from Conexus::IPv4::TCP.
bool Conexus::SSL::IPv4::TCP::m_want_read [private] |
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.
bool Conexus::SSL::IPv4::TCP::m_want_write [private] |
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.
1.5.8