25#ifndef JOIN_FABRIC_DOT_PROTOCOL_HPP
26#define JOIN_FABRIC_DOT_PROTOCOL_HPP
33 template <
class Protocol>
34 class BasicTlsResolver;
51 constexpr explicit Dot (
int family = AF_INET) noexcept
60 static inline Dot&
v4 () noexcept
62 static Dot dotv4 (AF_INET);
70 static inline Dot&
v6 () noexcept
72 static Dot dotv6 (AF_INET6);
80 constexpr int family () const noexcept
82 return _transport.
family ();
104 return a.family () == b.family ();
basic DNS resolver over TLS socket (DNS over TLS).
Definition resolver.hpp:1073
TLS decorator for stream sockets.
Definition tls_wrapper.hpp:38
DNS over TLS protocol class.
Definition dot_protocol.hpp:40
static constexpr uint16_t defaultPort
default DoT port.
Definition dot_protocol.hpp:86
static constexpr size_t maxMsgSize
maximum DoT message size.
Definition dot_protocol.hpp:89
static Dot & v4() noexcept
get protocol suitable for IPv4 address family.
Definition dot_protocol.hpp:60
constexpr int family() const noexcept
get the protocol IP address family.
Definition dot_protocol.hpp:80
static Dot & v6() noexcept
get protocol suitable for IPv6 address family.
Definition dot_protocol.hpp:70
constexpr Dot(int family=AF_INET) noexcept
construct the DoT protocol instance.
Definition dot_protocol.hpp:51
typename Transport::Endpoint Endpoint
Definition dot_protocol.hpp:43
TCP protocol class.
Definition protocol.hpp:471
constexpr int family() const noexcept
get the protocol IP address family.
Definition protocol.hpp:513
BasicInternetEndpoint< Tcp > Endpoint
Definition protocol.hpp:473
Definition acceptor.hpp:32
bool operator==(const BasicLinkLayerEndpoint< Protocol > &a, const BasicLinkLayerEndpoint< Protocol > &b) noexcept
compare if endpoints are equal.
Definition endpoint.hpp:186
bool operator!=(const BasicLinkLayerEndpoint< Protocol > &a, const BasicLinkLayerEndpoint< Protocol > &b) noexcept
compare if endpoints are not equal.
Definition endpoint.hpp:198