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

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() [1/3]

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() [2/3]

UnixSocketAddress::UnixSocketAddress ( const struct sockaddr_un * sockaddr)

Constructor with pointer to sockaddr_un.

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

◆ UnixSocketAddress() [3/3]

UnixSocketAddress::UnixSocketAddress ( const UnixSocketAddress & x)

Copy constructor.

Member Function Documentation

◆ clone()

UnixSocketAddress * UnixSocketAddress::clone ( ) const
virtual

Virtual constructor.

Implements nidas::util::SocketAddress.

References UnixSocketAddress().

◆ getConstSockAddrPtr()

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

Provide const pointer to struct sockaddr_un.

Implements nidas::util::SocketAddress.

References _sockaddr.

◆ getFamily()

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

Return the address family, AF_UNIX.

Implements nidas::util::SocketAddress.

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

◆ getPort()

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

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

Implements nidas::util::SocketAddress.

◆ getSockAddrLen()

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.

◆ getSockAddrPtr()

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.

◆ operator<()

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

Comparator operator for addresses.

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

References _path, and getFamily().

◆ operator=()

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

Assignment operator.

References _path, and _sockaddr.

◆ operator==()

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

Equality operator for addresses.

References _path, and getFamily().

◆ toAddressString()

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

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

Implements nidas::util::SocketAddress.

References toString().

◆ toString()

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

Java style toString: returns "unix:path".

Implements nidas::util::SocketAddress.

References _path.

Referenced by toAddressString().

Member Data Documentation

◆ _path

std::string nidas::util::UnixSocketAddress::_path
protected

◆ _sockaddr

struct sockaddr_un nidas::util::UnixSocketAddress::_sockaddr
protected

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