nidas  v1.2-1520
Public Member Functions | Protected Attributes | List of all members
nidas::util::Inet4SocketAddress Class Reference

A IP version 4 socket address, containing a host address, and a port number. More...

#include <Inet4SocketAddress.h>

Inheritance diagram for nidas::util::Inet4SocketAddress:
Inheritance graph
[legend]

Public Member Functions

 Inet4SocketAddress ()
 Default constructor, address of 0.0.0.0 (INADDR_ANY), port 0. More...
 
 Inet4SocketAddress (int port)
 Address of 0.0.0.0 (INADDR_ANY), with a given port number. More...
 
 Inet4SocketAddress (const Inet4Address &, int port)
 
 Inet4SocketAddress (const struct sockaddr_in *_sockaddr)
 
 Inet4SocketAddress (const Inet4SocketAddress &)
 Copy constructor. More...
 
Inet4SocketAddressoperator= (const Inet4SocketAddress &x)
 Assignment operator. More...
 
Inet4SocketAddressclone () const
 Virtual constructor. More...
 
int getFamily () const
 Return the address family, AF_INET. More...
 
int getPort () const
 Return the port number. More...
 
void setPort (int val)
 Set the port number. More...
 
Inet4Address getInet4Address () const
 Return the IP address portion. More...
 
struct sockaddr * getSockAddrPtr ()
 Provide non-const pointer to struct sockaddr_in. More...
 
struct sockaddr * getConstSockAddrPtr () const
 Provide const pointer to struct sockaddr_in. More...
 
socklen_t getSockAddrLen () const
 Return the length of the struct sockaddr_XX for this address family. More...
 
std::string toString () const
 Java style toString: returns "inet:hostname:port". More...
 
std::string toAddressString () const
 Java style toString, but no DNS lookup: returns "inet:w.x.y.z:port". More...
 
bool operator< (const Inet4SocketAddress &x) const
 Comparator operator for addresses. More...
 
bool operator== (const Inet4SocketAddress &x) const
 Equality operator for addresses. More...
 

Protected Attributes

struct sockaddr_in _sockaddr
 

Detailed Description

A IP version 4 socket address, containing a host address, and a port number.

The only data element is a struct sockaddr_in, so the default copy constructor and assignment operators work fine.

Constructor & Destructor Documentation

Inet4SocketAddress::Inet4SocketAddress ( )

Default constructor, address of 0.0.0.0 (INADDR_ANY), port 0.

References _sockaddr.

Referenced by clone().

Inet4SocketAddress::Inet4SocketAddress ( int  port)

Address of 0.0.0.0 (INADDR_ANY), with a given port number.

References _sockaddr.

Inet4SocketAddress::Inet4SocketAddress ( const Inet4Address addr,
int  port 
)
Inet4SocketAddress::Inet4SocketAddress ( const struct sockaddr_in *  _sockaddr)
Inet4SocketAddress::Inet4SocketAddress ( const Inet4SocketAddress x)

Copy constructor.

Member Function Documentation

Inet4SocketAddress * Inet4SocketAddress::clone ( ) const
virtual

Virtual constructor.

Implements nidas::util::SocketAddress.

References Inet4SocketAddress().

struct sockaddr* nidas::util::Inet4SocketAddress::getConstSockAddrPtr ( ) const
inlinevirtual

Provide const pointer to struct sockaddr_in.

Implements nidas::util::SocketAddress.

References _sockaddr.

int nidas::util::Inet4SocketAddress::getFamily ( ) const
inlinevirtual

Return the address family, AF_INET.

Implements nidas::util::SocketAddress.

Inet4Address nidas::util::Inet4SocketAddress::getInet4Address ( ) const
inline
int nidas::util::Inet4SocketAddress::getPort ( ) const
inlinevirtual
socklen_t nidas::util::Inet4SocketAddress::getSockAddrLen ( ) const
inlinevirtual

Return the length of the struct sockaddr_XX for this address family.

Implements nidas::util::SocketAddress.

References _sockaddr.

struct sockaddr* nidas::util::Inet4SocketAddress::getSockAddrPtr ( )
inlinevirtual

Provide non-const pointer to struct sockaddr_in.

This is needed for recvfrom methods. recvfrom updates the struct sockaddr_in, so we can't cache the other portions of the address.

Implements nidas::util::SocketAddress.

References _sockaddr.

bool Inet4SocketAddress::operator< ( const Inet4SocketAddress x) const

Comparator operator for addresses.

Useful if this address is a key in an STL map.

References _sockaddr.

Inet4SocketAddress & Inet4SocketAddress::operator= ( const Inet4SocketAddress x)

Assignment operator.

References _sockaddr.

bool Inet4SocketAddress::operator== ( const Inet4SocketAddress x) const

Equality operator for addresses.

References _sockaddr.

void nidas::util::Inet4SocketAddress::setPort ( int  val)
inline
std::string Inet4SocketAddress::toAddressString ( ) const
virtual
std::string Inet4SocketAddress::toString ( ) const
virtual

Member Data Documentation

struct sockaddr_in nidas::util::Inet4SocketAddress::_sockaddr
protected

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