Files
biboumi/louloulibs/network/dns_socket_handler.cpp
T
2017-01-06 22:58:18 +01:00

44 lines
809 B
C++

#include <louloulibs.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 */