147 const uint16_t ns_port,
149 const unsigned int wait,
154 std::unique_ptr<DNSClientImpl> impl_;
The IOAddress class represents an IP addresses (version agnostic)
The D2UpdateMessage encapsulates a DNS Update message.
Callback for the DNSClient class.
virtual ~Callback()
Virtual destructor.
virtual void operator()(DNSClient::Status status)=0
Function operator implementing a callback.
The DNSClient class handles communication with the DNS server.
void doUpdate(const asiolink::IOServicePtr &io_service, const asiolink::IOAddress &ns_addr, const uint16_t ns_port, D2UpdateMessage &update, const unsigned int wait, const D2TsigKeyPtr &tsig_key=D2TsigKeyPtr())
Start asynchronous DNS Update with TSIG.
~DNSClient()
Virtual destructor, does nothing.
DNSClient(D2UpdateMessagePtr &response_placeholder, Callback *callback, const Protocol proto=UDP)
Constructor.
void stop()
Stop the client.
static unsigned int getMaxTimeout()
Returns maximal allowed timeout value accepted by DNSClient::doUpdate.
Status
A status code of the DNSClient.
@ IO_STOPPED
IO was stopped.
@ TIMEOUT
No response, timeout.
@ OTHER
Other, unclassified error.
@ INVALID_RESPONSE
Response received but invalid.
@ SUCCESS
Response received and is ok.
Protocol
Transport layer protocol used by a DNS Client to communicate with a server.
boost::shared_ptr< IOService > IOServicePtr
Defines a smart pointer to an IOService instance.
boost::shared_ptr< D2UpdateMessage > D2UpdateMessagePtr
Pointer to the DNS Update Message.
boost::shared_ptr< DNSClient > DNSClientPtr
boost::shared_ptr< D2TsigKey > D2TsigKeyPtr
Type of pointer to a D2 TSIG key.
Defines the logger used by the top-level component of kea-lfc.