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

An AF_UNIX socket address. More...

#include <UnixSocketAddress.h>

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

Public Member Functions

 UnixSocketAddress (const std::string &path)
 Default constructor, path of "", empty string. More...
 
 UnixSocketAddress (const struct sockaddr_un *sockaddr)
 Constructor with pointer to sockaddr_un. More...
 
 UnixSocketAddress (const UnixSocketAddress &)
 Copy constructor. More...
 
UnixSocketAddressoperator= (const UnixSocketAddress &x)
 Assignment operator. More...
 
UnixSocketAddressclone () const
 Virtual constructor. More...
 
int getFamily () const
 Return the address family, AF_UNIX. More...
 
int getPort () const
 AF_UNIX addresses don't have ports, return -1. More...
 
struct sockaddr * getSockAddrPtr ()
 Provide non-const pointer to struct sockaddr_un. More...
 
struct sockaddr * getConstSockAddrPtr () const
 Provide const pointer to struct sockaddr_un. 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 "unix:path". More...
 
std::string toAddressString () const
 Java style toString: also returns "unix:path". More...
 
bool operator< (const SocketAddress &x) const
 Comparator operator for addresses. More...
 
bool operator== (const SocketAddress &x) const
 Equality operator for addresses. More...
 

Protected Attributes

std::string _path
 
struct sockaddr_un _sockaddr
 

Detailed Description

An AF_UNIX socket address.

Do "man 7 unix" from linux for info on unix sockets.

Constructor & Destructor Documentation

UnixSocketAddress::UnixSocketAddress ( const std::string &  path)

Default constructor, path of "", empty string.

Constructor, with path string.

References _path, _sockaddr, and getFamily().

Referenced by clone().

UnixSocketAddress::UnixSocketAddress ( const struct sockaddr_un *  sockaddr)

Constructor with pointer to sockaddr_un.

References _path, _sockaddr, getFamily(), and len.

UnixSocketAddress::UnixSocketAddress ( const UnixSocketAddress x)

Copy constructor.

Member Function Documentation

UnixSocketAddress * UnixSocketAddress::clone ( ) const
virtual

Virtual constructor.

Implements nidas::util::SocketAddress.

References UnixSocketAddress().

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

Provide const pointer to struct sockaddr_un.

Implements nidas::util::SocketAddress.

References _sockaddr.

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

Return the address family, AF_UNIX.

Implements nidas::util::SocketAddress.

Referenced by operator<(), operator==(), and UnixSocketAddress().

int nidas::util::UnixSocketAddress::getPort ( ) const
inlinevirtual

AF_UNIX addresses don't have ports, return -1.

Implements nidas::util::SocketAddress.

socklen_t nidas::util::UnixSocketAddress::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::UnixSocketAddress::getSockAddrPtr ( )
inlinevirtual

Provide non-const pointer to struct sockaddr_un.

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

Implements nidas::util::SocketAddress.

References _sockaddr.

bool UnixSocketAddress::operator< ( const SocketAddress x) const

Comparator operator for addresses.

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

References _path, nidas::util::SocketAddress::getFamily(), and getFamily().

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

Assignment operator.

References _path, and _sockaddr.

bool UnixSocketAddress::operator== ( const SocketAddress x) const

Equality operator for addresses.

References _path, nidas::util::SocketAddress::getFamily(), and getFamily().

std::string UnixSocketAddress::toAddressString ( ) const
virtual

Java style toString: also returns "unix:path".

Implements nidas::util::SocketAddress.

References toString().

std::string UnixSocketAddress::toString ( ) const
virtual

Java style toString: returns "unix:path".

Implements nidas::util::SocketAddress.

References _path.

Referenced by nidas::core::Socket::Socket(), and toAddressString().

Member Data Documentation

std::string nidas::util::UnixSocketAddress::_path
protected
struct sockaddr_un nidas::util::UnixSocketAddress::_sockaddr
protected

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