libzmq  master
ZeroMQ C++ Core Engine (LIBZMQ)
zmq::tcp_address_t Class Reference

#include <tcp_address.hpp>

Inheritance diagram for zmq::tcp_address_t:
Collaboration diagram for zmq::tcp_address_t:

Public Member Functions

 tcp_address_t ()
 
 tcp_address_t (const sockaddr *sa, socklen_t sa_len)
 
virtual ~tcp_address_t ()
 
const sockaddr * addr () const
 
socklen_t addrlen () const
 
sa_family_t family () const
 
bool has_src_addr () const
 
int resolve (const char *name_, bool local_, bool ipv6_, bool is_src_=false)
 
const sockaddr * src_addr () const
 
socklen_t src_addrlen () const
 
virtual int to_string (std::string &addr_)
 

Protected Member Functions

int resolve_hostname (const char *hostname_, bool ipv6_, bool is_src_=false)
 
int resolve_interface (const char *interface_, bool ipv6_, bool is_src_=false)
 
int resolve_nic_name (const char *nic_, bool ipv6_, bool is_src_=false)
 

Protected Attributes

bool _has_src_addr
 
union {
   sockaddr   generic
 
   sockaddr_in   ipv4
 
   sockaddr_in6   ipv6
 
address
 
union {
   sockaddr   generic
 
   sockaddr_in   ipv4
 
   sockaddr_in6   ipv6
 
source_address
 

Detailed Description

Definition at line 45 of file tcp_address.hpp.

Constructor & Destructor Documentation

zmq::tcp_address_t::tcp_address_t ( )

Definition at line 389 of file tcp_address.cpp.

References address, and source_address.

zmq::tcp_address_t::tcp_address_t ( const sockaddr *  sa,
socklen_t  sa_len 
)

Definition at line 396 of file tcp_address.cpp.

References address, source_address, and zmq_assert.

zmq::tcp_address_t::~tcp_address_t ( )
virtual

Definition at line 410 of file tcp_address.cpp.

Member Function Documentation

const sockaddr * zmq::tcp_address_t::addr ( ) const
socklen_t zmq::tcp_address_t::addrlen ( ) const
sa_family_t zmq::tcp_address_t::family ( ) const

Definition at line 580 of file tcp_address.cpp.

References address.

Referenced by zmq::socks_connecter_t::connect_to_proxy(), has_src_addr(), zmq::tcp_connecter_t::open(), and zmq::tcp_listener_t::set_address().

Here is the caller graph for this function:

bool zmq::tcp_address_t::has_src_addr ( ) const

Definition at line 572 of file tcp_address.cpp.

References _has_src_addr, and family().

Referenced by zmq::socks_connecter_t::connect_to_proxy(), and zmq::tcp_connecter_t::open().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::tcp_address_t::resolve ( const char *  name_,
bool  local_,
bool  ipv6_,
bool  is_src_ = false 
)

Definition at line 414 of file tcp_address.cpp.

References _has_src_addr, address, resolve_hostname(), resolve_interface(), and source_address.

Referenced by zmq::socks_connecter_t::connect_to_proxy(), zmq::tcp_connecter_t::open(), zmq::tcp_listener_t::set_address(), and zmq::socket_base_t::term_endpoint().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::tcp_address_t::resolve_hostname ( const char *  hostname_,
bool  ipv6_,
bool  is_src_ = false 
)
protected

Definition at line 329 of file tcp_address.cpp.

References address, source_address, and zmq_assert.

Referenced by resolve(), and zmq::tcp_address_mask_t::resolve().

Here is the caller graph for this function:

int zmq::tcp_address_t::resolve_interface ( const char *  interface_,
bool  ipv6_,
bool  is_src_ = false 
)
protected

Definition at line 236 of file tcp_address.cpp.

References address, resolve_nic_name(), source_address, and zmq_assert.

Referenced by resolve().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::tcp_address_t::resolve_nic_name ( const char *  nic_,
bool  ipv6_,
bool  is_src_ = false 
)
protected

Definition at line 225 of file tcp_address.cpp.

References LIBZMQ_UNUSED.

Referenced by resolve_interface().

Here is the caller graph for this function:

const sockaddr * zmq::tcp_address_t::src_addr ( ) const

Definition at line 559 of file tcp_address.cpp.

References source_address.

Referenced by zmq::socks_connecter_t::connect_to_proxy(), and zmq::tcp_connecter_t::open().

Here is the caller graph for this function:

socklen_t zmq::tcp_address_t::src_addrlen ( ) const

Definition at line 564 of file tcp_address.cpp.

References address, and source_address.

Referenced by zmq::socks_connecter_t::connect_to_proxy(), and zmq::tcp_connecter_t::open().

Here is the caller graph for this function:

int zmq::tcp_address_t::to_string ( std::string &  addr_)
virtual

Reimplemented in zmq::tcp_address_mask_t.

Definition at line 516 of file tcp_address.cpp.

References addr(), address, and addrlen().

Referenced by zmq::tcp_listener_t::get_address(), zmq::tcp_listener_t::set_address(), and zmq::socket_base_t::term_endpoint().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

bool zmq::tcp_address_t::_has_src_addr
protected

Definition at line 90 of file tcp_address.hpp.

Referenced by has_src_addr(), and resolve().

sockaddr zmq::tcp_address_t::generic

Definition at line 80 of file tcp_address.hpp.

sockaddr_in zmq::tcp_address_t::ipv4

Definition at line 81 of file tcp_address.hpp.

sockaddr_in6 zmq::tcp_address_t::ipv6

Definition at line 82 of file tcp_address.hpp.

union { ... } zmq::tcp_address_t::source_address