summaryrefslogtreecommitdiff
path: root/louloulibs/network/dns_socket_handler.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'louloulibs/network/dns_socket_handler.hpp')
-rw-r--r--louloulibs/network/dns_socket_handler.hpp29
1 files changed, 9 insertions, 20 deletions
diff --git a/louloulibs/network/dns_socket_handler.hpp b/louloulibs/network/dns_socket_handler.hpp
index e3fed0c..e12f145 100644
--- a/louloulibs/network/dns_socket_handler.hpp
+++ b/louloulibs/network/dns_socket_handler.hpp
@@ -1,44 +1,33 @@
#pragma once
#include <louloulibs.h>
-#ifdef CARES_FOUND
+#ifdef UDNS_FOUND
#include <network/socket_handler.hpp>
-#include <ares.h>
/**
- * Manage a socket returned by ares_fds. We do not create, open or close the
- * socket ourself: this is done by c-ares. We just call ares_process_fd()
- * with the correct parameters, depending on what can be done on that socket
- * (Poller reported it to be writable or readeable)
+ * Manage the UDP socket provided by udns, we do not create, open or close the
+ * socket ourself: this is done by udns. We only watch it for readability
*/
-
-class DNSHandler;
-
class DNSSocketHandler: public SocketHandler
{
public:
- explicit DNSSocketHandler(std::shared_ptr<Poller> poller, DNSHandler& handler, const socket_t socket);
- ~DNSSocketHandler() = default;
+ explicit DNSSocketHandler(std::shared_ptr<Poller> poller, const socket_t socket);
+ ~DNSSocketHandler();
DNSSocketHandler(const DNSSocketHandler&) = delete;
DNSSocketHandler(DNSSocketHandler&&) = delete;
DNSSocketHandler& operator=(const DNSSocketHandler&) = delete;
DNSSocketHandler& operator=(DNSSocketHandler&&) = delete;
- /**
- * Just call dns_process_fd, c-ares will do its work of send()ing or
- * recv()ing the data it wants on that socket.
- */
void on_recv() override final;
- void on_send() override final;
+
/**
* Always true, see the comment for connect()
*/
bool is_connected() const override final;
- void remove_from_poller();
-private:
- DNSHandler& handler;
+ void watch();
+ void unwatch();
};
-#endif // CARES_FOUND
+#endif // UDNS_FOUND