| D++ (DPP) C++ Discord API Bot Library

Search
Loading...
Searching...
No Matches
dpp::address_t Class Reference

Represents an IPv4 address for use with socket functions such as bind(). More...

`#include <socket.h>`

## Public Member Functions

| address_t (const std::string_view ip="0.0.0.0", uint16_t port=0)
| Create a new address_t.
uint16_t | get_port (socket fd)
| Get the port bound to a file descriptor.
sockaddr * | get_socket_address ()
| Get sockaddr.
size_t | size ()
| Returns size of sockaddr_in.

## Detailed Description

Represents an IPv4 address for use with socket functions such as bind().

Avoids type punning with C style casts from sockaddr_in to sockaddr pointers.

## Constructor & Destructor Documentation

## ◆ address_t()

dpp::address_t::address_t | ( | const std::string_view | ip = "0.0.0.0",
|  | uint16_t | port = 0 )

Create a new address_t.

Parameters

  ip | IPv4 address
  port | Port number

Note
  Leave both as defaults to create a default bind-to-any setting

## Member Function Documentation

## ◆ get_port()

uint16_t dpp::address_t::get_port | ( | socket | fd | ) |

nodiscard

Get the port bound to a file descriptor.

Parameters

  fd | File descriptor

Returns
  Port number, or 0 if no port bound

## ◆ get_socket_address()

sockaddr * dpp::address_t::get_socket_address | ( |  | ) |

nodiscard

Get sockaddr.

Returns
  sockaddr pointer

## ◆ size()

size_t dpp::address_t::size | ( |  | ) |

nodiscard

Returns size of sockaddr_in.

Returns
  sockaddr_in size

Note
  It is important the size this returns is sizeof(sockaddr_in) not sizeof(sockaddr), this is NOT a bug but requirement of C socket functions.

D++ Library version 9.0.13 D++ Library version 9.0.12 D++ Library version 9.0.11 D++ Library version 9.0.10 D++ Library version 9.0.9 D++ Library version 9.0.8 D++ Library version 9.0.7 D++ Library version 9.0.6 D++ Library version 9.0.5 D++ Library version 9.0.4 D++ Library version 9.0.3 D++ Library version 9.0.2 D++ Library version 9.0.1 D++ Library version 9.0.0 D++ Library version 1.0.2 D++ Library version 1.0.1 D++ Library version 1.0.0