42 #ifndef _DNSNAMESERVER_HH_ 43 #define _DNSNAMESERVER_HH_ 46 #include <sys/socket.h> 47 #include <sys/select.h> 48 #include <netinet/in.h> 100 typedef std::tuple<sa_family_t,const struct sockaddr *,socklen_t> AddrInfo;
139 sa_family_t _addrFamily;
141 struct sockaddr_in in4Addr;
142 struct sockaddr_in6 in6Addr;
147 bool Open(
bool tcp =
false);
154 #endif // _DNSNAMESERVER_HH_ AddrInfo Address() const
Returns the address of the name server.
bool SendMessage(const Message &message)
Sends the given message to the name server via UDP.
bool ReadMessage(Message &message)
Reads a message from the name server via TCP.
Encapsulates a DNS message.
Definition: DwmDnsMessage.hh:68
bool WriteMessage(const Message &message)
Sends the given message to the name server via TCP.
Definition: DwmDnsEtcHosts.hh:60
NameServer(const struct in_addr &addr)
Constructs a name server whose IPv4 address is addr.
bool ReceiveMessage(Message &message)
Receives a message from the name server via UDP.
NameServer & operator=(const NameServer &)=default
Copy operator.
Encapsulates a DNS name server, from the perspective of a DNS client.
Definition: DwmDnsNameServer.hh:65
bool AnswerWaiting(const struct timeval &timeout) const
Returns true if there is a UDP message ready to be read via ReceiveMessage().
Dwm::Dns::Message class definition.