#include <ipv6_ip.h>
Public Types | |
typedef ConexusPointer< IP > | pointer |
Class typedef to smart pointer. | |
Public Member Functions | |
virtual | ~IP () throw () |
virtual void | bind () throw ( bind_exception ) |
Attempts to bind this socket to the internal address. | |
virtual void | bind (const Conexus::Address &a) throw ( bind_exception ) |
virtual void | connect () throw ( connect_exception ) |
virtual void | connect (const Address &a) throw ( connect_exception ) |
virtual Address & | local_address () |
virtual Address & | remote_address () |
virtual IPAddressInterface & | generic_local_address () |
virtual IPAddressInterface & | generic_remote_address () |
virtual void | set_remote_address (const Address &addr) |
virtual void | set_remote_address (uint32_t addr, uint16_t port) |
virtual void | set_remote_address (const struct in6_addr &addr, uint16_t port) |
virtual void | set_remote_address (const std::string &addr, uint16_t port) |
virtual void | unset_remote_address () |
virtual void | set_local_address (const Address &addr) |
virtual void | set_local_address (uint32_t addr, uint16_t port) |
virtual void | set_local_address (const struct in6_addr &addr, uint16_t port) |
virtual void | set_local_address (const std::string &addr, uint16_t port) |
Protected Member Functions | |
IP (int type=-1, int protocol=0) | |
Default constructor which sets the socket domain to PF_INET6 but does not provide a socket type or protocol. | |
virtual void | on_local_address_changed () |
virtual void | on_remote_address_changed () |
void | on_local_address_changed_proxy () |
void | on_remote_address_changed_proxy () |
Protected Attributes | |
Address | m_local_address |
Address | m_remote_address |
bool | m_remote_address_set |
All child classes such as UDP and TCP inherit the association of a local host address from this class as well as the concept of address association, multicasting capabilities and of course, ports.
This class also stores an internal address object representing a local address object. All BSD socket API functions (such as bind) that require a sockaddr_in structure will be provided this internal attribute. Therefore, it is the responsibility of children such as UDP and TCP to make the appropriate modifications to this protected attribute.
typedef ConexusPointer<IP> Conexus::IPv6::IP::pointer |
Class typedef to smart pointer.
Reimplemented from Conexus::IP.
Reimplemented in Conexus::IPv6::TCP, Conexus::IPv6::UDP, Conexus::IPv6::UDPPoset, and Conexus::SSL::IPv6::TCP.
Conexus::IPv6::IP::IP | ( | int | type = -1 , |
|
int | protocol = 0 | |||
) | [protected] |
Default constructor which sets the socket domain to PF_INET6 but does not provide a socket type or protocol.
References m_local_address, m_remote_address, on_local_address_changed_proxy(), and on_remote_address_changed_proxy().
Conexus::IPv6::IP::~IP | ( | ) | throw () [virtual] |
Reimplemented from Conexus::IP.
void Conexus::IPv6::IP::bind | ( | const Conexus::Address & | a | ) | throw ( bind_exception ) [virtual] |
Reimplemented from Conexus::Socket.
Reimplemented in Conexus::IPv6::UDP, and Conexus::IPv6::UDPPoset.
References Conexus::Socket::bind().
void Conexus::IPv6::IP::bind | ( | ) | throw ( bind_exception ) [virtual] |
Attempts to bind this socket to the internal address.
Reimplemented from Conexus::Socket.
Reimplemented in Conexus::IPv6::UDP, and Conexus::IPv6::UDPPoset.
References m_local_address.
Referenced by Conexus::IPv6::UDPPoset::bind(), and Conexus::IPv6::UDP::bind().
void Conexus::IPv6::IP::connect | ( | const Address & | a | ) | throw ( connect_exception ) [virtual] |
Reimplemented in Conexus::IPv6::UDP, Conexus::IPv6::UDPPoset, and Conexus::SSL::IPv6::TCP.
References Conexus::Socket::connect().
void Conexus::IPv6::IP::connect | ( | ) | throw ( connect_exception ) [virtual] |
Reimplemented from Conexus::Socket.
Reimplemented in Conexus::IPv6::UDP, Conexus::IPv6::UDPPoset, and Conexus::SSL::IPv6::TCP.
References m_remote_address, and m_remote_address_set.
Referenced by Conexus::IPv6::UDP::connect(), and Conexus::SSL::IPv6::TCP::connect().
IPAddressInterface & Conexus::IPv6::IP::generic_local_address | ( | ) | [virtual] |
IPAddressInterface & Conexus::IPv6::IP::generic_remote_address | ( | ) | [virtual] |
Address & Conexus::IPv6::IP::local_address | ( | ) | [virtual] |
References m_local_address.
void Conexus::IPv6::IP::on_local_address_changed | ( | ) | [protected, virtual] |
Reimplemented in Conexus::IPv6::TCP, Conexus::IPv6::UDP, and Conexus::IPv6::UDPPoset.
Referenced by on_local_address_changed_proxy().
void Conexus::IPv6::IP::on_local_address_changed_proxy | ( | ) | [protected] |
void Conexus::IPv6::IP::on_remote_address_changed | ( | ) | [protected, virtual] |
Reimplemented in Conexus::IPv6::TCP, Conexus::IPv6::UDP, and Conexus::IPv6::UDPPoset.
Referenced by on_remote_address_changed_proxy().
void Conexus::IPv6::IP::on_remote_address_changed_proxy | ( | ) | [protected] |
Address & Conexus::IPv6::IP::remote_address | ( | ) | [virtual] |
References m_remote_address.
void Conexus::IPv6::IP::set_local_address | ( | const std::string & | addr, | |
uint16_t | port | |||
) | [virtual] |
References m_local_address.
void Conexus::IPv6::IP::set_local_address | ( | const struct in6_addr & | addr, | |
uint16_t | port | |||
) | [virtual] |
References m_local_address.
void Conexus::IPv6::IP::set_local_address | ( | uint32_t | addr, | |
uint16_t | port | |||
) | [virtual] |
References m_local_address.
void Conexus::IPv6::IP::set_local_address | ( | const Address & | addr | ) | [virtual] |
References m_local_address.
void Conexus::IPv6::IP::set_remote_address | ( | const std::string & | addr, | |
uint16_t | port | |||
) | [virtual] |
References m_remote_address, and m_remote_address_set.
void Conexus::IPv6::IP::set_remote_address | ( | const struct in6_addr & | addr, | |
uint16_t | port | |||
) | [virtual] |
References m_remote_address, and m_remote_address_set.
void Conexus::IPv6::IP::set_remote_address | ( | uint32_t | addr, | |
uint16_t | port | |||
) | [virtual] |
References m_remote_address, and m_remote_address_set.
void Conexus::IPv6::IP::set_remote_address | ( | const Address & | addr | ) | [virtual] |
References m_remote_address, and m_remote_address_set.
void Conexus::IPv6::IP::unset_remote_address | ( | ) | [virtual] |
References m_remote_address, and m_remote_address_set.
Address Conexus::IPv6::IP::m_local_address [protected] |
Address Conexus::IPv6::IP::m_remote_address [protected] |
bool Conexus::IPv6::IP::m_remote_address_set [protected] |
Referenced by connect(), on_remote_address_changed_proxy(), set_remote_address(), and unset_remote_address().