Encapsulates a DNS name server, from the perspective of a DNS client. More...
#include <DwmDnsNameServer.hh>
Public Types | |
| typedef std::tuple< sa_family_t, const struct sockaddr *, socklen_t > | AddrInfo |
Public Member Functions | |
| NameServer (const struct in_addr &addr) | |
Constructs a name server whose IPv4 address is addr. | |
| NameServer (const struct in6_addr &addr) | |
Constructs a name server whose IPv6 address is addr. | |
| NameServer (const std::string &addr) | |
Constructs a name server whose IP address is addr. More... | |
| NameServer (const NameServer &)=default | |
| Copy constructor. | |
| NameServer & | operator= (const NameServer &)=default |
| Copy operator. | |
| ~NameServer () | |
| Destructor. | |
| 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. More... | |
| bool | WriteMessage (const Message &message) |
| Sends the given message to the name server via TCP. More... | |
| bool | ReceiveMessage (Message &message) |
Receives a message from the name server via UDP. More... | |
| bool | ReadMessage (Message &message) |
Reads a message from the name server via TCP. More... | |
| bool | AnswerWaiting (const struct timeval &timeout) const |
| Returns true if there is a UDP message ready to be read via ReceiveMessage(). More... | |
Encapsulates a DNS name server, from the perspective of a DNS client.
| Dwm::Dns::NameServer::NameServer | ( | const std::string & | addr | ) |
Constructs a name server whose IP address is addr.
addr may be an IPv4 or IPv6 address. Throws std::invalid_argument if addr is not a valid IPv4 or IPv6 address.
| bool Dwm::Dns::NameServer::AnswerWaiting | ( | const struct timeval & | timeout | ) | const |
Returns true if there is a UDP message ready to be read via ReceiveMessage().
timeout is the time to wait for a message to be ready.
| bool Dwm::Dns::NameServer::ReadMessage | ( | Message & | message | ) |
Reads a message from the name server via TCP.
Returns true on success, false on failure.
| bool Dwm::Dns::NameServer::ReceiveMessage | ( | Message & | message | ) |
Receives a message from the name server via UDP.
Returns true on success, false on failure.
| bool Dwm::Dns::NameServer::SendMessage | ( | const Message & | message | ) |
Sends the given message to the name server via UDP.
Returns true on success, false on failure.
| bool Dwm::Dns::NameServer::WriteMessage | ( | const Message & | message | ) |
Sends the given message to the name server via TCP.
Returns true on success, false on failure.