blob: 5c286c48e12c92d165e5a8d677c24dfc661f386d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include <biboumi.h>
#ifdef UDNS_FOUND
#include <network/dns_socket_handler.hpp>
#include <network/dns_handler.hpp>
#include <network/poller.hpp>
#include <udns.h>
DNSSocketHandler::DNSSocketHandler(std::shared_ptr<Poller>& poller,
const socket_t socket):
SocketHandler(poller, socket)
{
poller->add_socket_handler(this);
}
DNSSocketHandler::~DNSSocketHandler()
{
this->unwatch();
}
void DNSSocketHandler::on_recv()
{
dns_ioevent(nullptr, 0);
}
bool DNSSocketHandler::is_connected() const
{
return true;
}
void DNSSocketHandler::unwatch()
{
if (this->poller->is_managing_socket(this->socket))
this->poller->remove_socket_handler(this->socket);
}
void DNSSocketHandler::watch()
{
this->poller->add_socket_handler(this);
}
#endif /* UDNS_FOUND */
|