D++ (DPP)
C++ Discord API Bot Library
dpp::dns_cache_entry Struct Reference

Represents a cached DNS result. Used by the ssl_client class to store cached copies of dns lookups. More...

#include <dns.h>

+ Collaboration diagram for dpp::dns_cache_entry:

Public Member Functions

int size () const
 Get address length. More...
 
const address_t get_connecting_address (uint16_t port) const
 Get the address_t that corresponds to this cache entry for use when connecting with ::connect() More...
 
socket make_connecting_socket () const
 Allocate a socket file descriptor for the given dns address. More...
 

Public Attributes

addrinfo addr
 Resolved address metadata. More...
 
std::string resolved_addr
 Resolved address as string. The metadata is needed to know what type of address it is. Do not do silly stuff like just looking to see if '.' is in it! More...
 
time_t expire_timestamp
 Time at which this cache entry is invalidated. More...
 

Detailed Description

Represents a cached DNS result. Used by the ssl_client class to store cached copies of dns lookups.

Member Function Documentation

◆ get_connecting_address()

const address_t dpp::dns_cache_entry::get_connecting_address ( uint16_t  port) const

Get the address_t that corresponds to this cache entry for use when connecting with ::connect()

Parameters
portPort number to connect to
Returns
address_t prefilled with the IP and port number

◆ make_connecting_socket()

socket dpp::dns_cache_entry::make_connecting_socket ( ) const

Allocate a socket file descriptor for the given dns address.

Returns
File descriptor ready for calling connect(), or INVALID_SOCKET on failure.

◆ size()

int dpp::dns_cache_entry::size ( ) const

Get address length.

Returns
address length

Member Data Documentation

◆ addr

addrinfo dpp::dns_cache_entry::addr

Resolved address metadata.

◆ expire_timestamp

time_t dpp::dns_cache_entry::expire_timestamp

Time at which this cache entry is invalidated.

◆ resolved_addr

std::string dpp::dns_cache_entry::resolved_addr

Resolved address as string. The metadata is needed to know what type of address it is. Do not do silly stuff like just looking to see if '.' is in it!

D++ Library version 10.0.33D++ Library version 10.0.32D++ Library version 10.0.31D++ Library version 10.0.30D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0