My Project: dht::SockAddr Class Reference

My Project 3.7.7 C++ Distributed Hash Table

Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Friends | List of all members
dht::SockAddr Class Reference

`#include <sockaddr.h>`

## Classes
struct | ipCmp

## Public Member Functions
| SockAddr (const SockAddr &o)
| SockAddr (SockAddr &&o) noexcept
| SockAddr (const sockaddr *sa, socklen_t length)
| SockAddr (const sockaddr *sa)
| SockAddr (const sockaddr_storage &ss, socklen_t len)
bool | operator< (const SockAddr &o) const
bool | equals (const SockAddr &o) const
bool | operator== (const SockAddr &o) const
bool | operator!= (const SockAddr &o) const
SockAddr & | operator= (const SockAddr &o)
SockAddr & | operator= (SockAddr &&o)
std::string | toString () const
sa_family_t | getFamily () const
void | setFamily (sa_family_t af)
void | setAny ()
void | setLoopback ()
in_port_t | getPort () const
void | setPort (in_port_t p)
void | setAddress (const char *address)
socklen_t | getLength () const
| operator bool () const noexcept
const sockaddr * | get () const
sockaddr * | get ()
const sockaddr_in & | getIPv4 () const
const sockaddr_in6 & | getIPv6 () const
sockaddr_in & | getIPv4 ()
sockaddr_in6 & | getIPv6 ()
sockaddr * | release ()
bool | isLoopback () const
bool | isPrivate () const
bool | isUnspecified () const
bool | isMappedIPv4 () const
SockAddr | getMappedIPv4 ()
SockAddr | getMappedIPv6 ()

## Static Public Member Functions
static std::vector< SockAddr > | resolve (const std::string &host, const std::string &service={})

## Friends
std::ostream & | operator<< (std::ostream &s, const SockAddr &h)

## Detailed Description

A Socket Address (sockaddr*), with abstraction for IPv4, IPv6 address families.

Definition at line 46 of file sockaddr.h.

## Constructor & Destructor Documentation

## ◆ SockAddr() [1/6]

dht::SockAddr::SockAddr | ( |  | ) |
| inline

Definition at line 49 of file sockaddr.h.

## ◆ SockAddr() [2/6]

dht::SockAddr::SockAddr | ( | const SockAddr & | o | ) |
| inline

Definition at line 50 of file sockaddr.h.

## ◆ SockAddr() [3/6]

dht::SockAddr::SockAddr | ( | SockAddr && | o | ) |
| inlinenoexcept

Definition at line 51 of file sockaddr.h.

## ◆ SockAddr() [4/6]

dht::SockAddr::SockAddr | ( | const sockaddr * | sa,
|  | socklen_t | length )
| inline

Build from existing address.

Definition at line 61 of file sockaddr.h.

## ◆ SockAddr() [5/6]

dht::SockAddr::SockAddr | ( | const sockaddr * | sa | ) |
| inline

Definition at line 67 of file sockaddr.h.

## ◆ SockAddr() [6/6]

dht::SockAddr::SockAddr | ( | const sockaddr_storage & | ss,
|  | socklen_t | len )
| inline

Build from an existing sockaddr_storage structure.

Definition at line 84 of file sockaddr.h.

## Member Function Documentation

## ◆ equals()

bool dht::SockAddr::equals | ( | const SockAddr & | o | ) | const
| inline

Definition at line 97 of file sockaddr.h.

## ◆ get() [1/2]

sockaddr * dht::SockAddr::get | ( |  | ) |
| inline

Returns the address to the managed sockaddr structure. The accessible length is returned by getLength().

Definition at line 243 of file sockaddr.h.

## ◆ get() [2/2]

const sockaddr * dht::SockAddr::get | ( |  | ) | const
| inline

Returns the address to the managed sockaddr structure. The accessible length is returned by getLength().

Definition at line 237 of file sockaddr.h.

## ◆ getFamily()

sa_family_t dht::SockAddr::getFamily | ( |  | ) | const
| inline

Returns the address family or AF_UNSPEC if the address is not set.

Definition at line 122 of file sockaddr.h.

## ◆ getIPv4() [1/2]

sockaddr_in & dht::SockAddr::getIPv4 | ( |  | ) |
| inline

Definition at line 247 of file sockaddr.h.

## ◆ getIPv4() [2/2]

const sockaddr_in & dht::SockAddr::getIPv4 | ( |  | ) | const
| inline

Definition at line 245 of file sockaddr.h.

## ◆ getIPv6() [1/2]

sockaddr_in6 & dht::SockAddr::getIPv6 | ( |  | ) |
| inline

Definition at line 248 of file sockaddr.h.

## ◆ getIPv6() [2/2]

const sockaddr_in6 & dht::SockAddr::getIPv6 | ( |  | ) | const
| inline

Definition at line 246 of file sockaddr.h.

## ◆ getLength()

socklen_t dht::SockAddr::getLength | ( |  | ) | const
| inline

Returns the accessible byte length at the pointer returned by get(). If zero, get() returns null.

Definition at line 226 of file sockaddr.h.

## ◆ getPort()

in_port_t dht::SockAddr::getPort | ( |  | ) | const
| inline

Retreive the port (in host byte order) or 0 if the address is not of a supported family.

Definition at line 189 of file sockaddr.h.

## ◆ isLoopback()

bool dht::SockAddr::isLoopback | ( |  | ) | const

Return true if address is a loopback IP address.

## ◆ isPrivate()

bool dht::SockAddr::isPrivate | ( |  | ) | const

Return true if address is not a public IP address.

## ◆ operator bool()

dht::SockAddr::operator bool | ( |  | ) | const
| inlineexplicitnoexcept

An address is defined to be true if its length is not zero.

Definition at line 231 of file sockaddr.h.

## ◆ operator!=()

bool dht::SockAddr::operator!= | ( | const SockAddr & | o | ) | const
| inline

Definition at line 102 of file sockaddr.h.

## ◆ operator<()

bool dht::SockAddr::operator< | ( | const SockAddr & | o | ) | const
| inline

Definition at line 90 of file sockaddr.h.

## ◆ operator=() [1/2]

SockAddr & dht::SockAddr::operator= | ( | const SockAddr & | o | ) |
| inline

Definition at line 104 of file sockaddr.h.

## ◆ operator=() [2/2]

SockAddr & dht::SockAddr::operator= | ( | SockAddr && | o | ) |
| inline

Definition at line 109 of file sockaddr.h.

## ◆ operator==()

bool dht::SockAddr::operator== | ( | const SockAddr & | o | ) | const
| inline

Definition at line 101 of file sockaddr.h.

## ◆ release()

sockaddr * dht::SockAddr::release | ( |  | ) |
| inline

Releases the ownership of the managed object, if any. The caller is responsible for deleting the object with free().

Definition at line 254 of file sockaddr.h.

## ◆ setAddress()

void dht::SockAddr::setAddress | ( | const char * | address | ) |

Set the address part of the socket address from a numeric IP address (string representation). Family must be already set. Throws in case of parse failue.

## ◆ setAny()

void dht::SockAddr::setAny | ( |  | ) |
| inline

Set address to any

Definition at line 156 of file sockaddr.h.

## ◆ setFamily()

void dht::SockAddr::setFamily | ( | sa_family_t | af | ) |
| inline

Resize the managed structure to the appropriate size (if needed), in which case the sockaddr structure is cleared to zero, and set the address family field (sa_family).

Definition at line 129 of file sockaddr.h.

## ◆ setLoopback()

void dht::SockAddr::setLoopback | ( |  | ) |
| inline

Set address to loopback.

Definition at line 172 of file sockaddr.h.

## ◆ setPort()

void dht::SockAddr::setPort | ( | in_port_t | p | ) |
| inline

Set the port. The address must be of a supported family.

Parameters

  p | The port in host byte order.

Definition at line 204 of file sockaddr.h.

## ◆ toString()

std::string dht::SockAddr::toString | ( |  | ) | const
| inline

Definition at line 117 of file sockaddr.h.

## Friends And Related Symbol Documentation

## ◆ operator<<

std::ostream & operator<< | ( | std::ostream & | s,
|  | const SockAddr & | h )
| friend

Definition at line 305 of file sockaddr.h.

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

- /home/noptrix/ba/blackarch/packages/opendht-c/src/opendht/include/opendht/sockaddr.h