25#ifndef JOIN_FABRIC_DHCP_PROTOCOL_HPP
26#define JOIN_FABRIC_DHCP_PROTOCOL_HPP
33 template <
class Protocol>
36 template <
class Protocol>
39 template <
class Protocol>
57 constexpr Dhcp () noexcept = default;
63 constexpr
int family () const noexcept
65 return _transport.
family ();
72 constexpr int type () const noexcept
74 return _transport.
type ();
108 return a.family () == b.family ();
DHCP client.
Definition dhcp_protocol.hpp:37
DHCP server.
Definition dhcp_protocol.hpp:40
carries DHCP messages over a packet socket.
Definition dhcp_protocol.hpp:34
dynamic host configuration protocol class.
Definition dhcp_protocol.hpp:46
typename Transport::Socket Socket
Definition dhcp_protocol.hpp:50
static constexpr uint16_t serverPort
port a server listens on.
Definition dhcp_protocol.hpp:90
typename Transport::Endpoint Endpoint
Definition dhcp_protocol.hpp:49
constexpr int family() const noexcept
get the protocol IP address family.
Definition dhcp_protocol.hpp:63
constexpr int type() const noexcept
get the protocol communication semantic.
Definition dhcp_protocol.hpp:72
static constexpr uint16_t clientPort
port a client listens on.
Definition dhcp_protocol.hpp:87
constexpr Dhcp() noexcept=default
construct the DHCP protocol instance.
static constexpr size_t maxMsgSize
maximum DHCP message size.
Definition dhcp_protocol.hpp:93
constexpr int protocol() const noexcept
get the protocol type.
Definition dhcp_protocol.hpp:81
RAW protocol class.
Definition protocol.hpp:101
constexpr int type() const noexcept
get the protocol communication semantic.
Definition protocol.hpp:125
constexpr int family() const noexcept
get the protocol ip address family.
Definition protocol.hpp:116
BasicLinkLayerEndpoint< Raw > Endpoint
Definition protocol.hpp:103
constexpr int protocol() const noexcept
get the protocol type.
Definition protocol.hpp:134
BasicRawSocket< Raw > Socket
Definition protocol.hpp:104
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