From 2f93a2e442c251d0d9de5e828a66acd40086e28d Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Thu, 7 Aug 2014 15:51:33 -0700 Subject: Adding full c-ares support into Balau - untested. --- includes/Socket.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'includes/Socket.h') diff --git a/includes/Socket.h b/includes/Socket.h index 22bf972..0909763 100644 --- a/includes/Socket.h +++ b/includes/Socket.h @@ -18,8 +18,6 @@ namespace Balau { -struct DNSRequest; - class Socket : public Selectable { public: Socket() throw (GeneralException); @@ -34,19 +32,29 @@ class Socket : public Selectable { bool connect(const char * hostname, int port); IO accept() throw (GeneralException); bool listen(); - bool resolved(); + bool resolved() { return m_resolved; } private: Socket(int fd); virtual ssize_t recv(int sockfd, void *buf, size_t len, int flags); virtual ssize_t send(int sockfd, const void *buf, size_t len, int flags); + void resolve(const char * hostname); + void initAddr(sockaddr_in6 & out); + void resolved(sockaddr_in6 & out); + String m_name; bool m_connected = false; bool m_connecting = false; bool m_listening = false; + int m_resolving = 0; + bool m_resolved = false; + bool m_resolve4Failed = false; + bool m_resolve6Failed = false; + Events::Custom m_resolveEvent; + struct in_addr m_resolvedAddr4; + struct in6_addr m_resolvedAddr6; sockaddr_in6 m_localAddr, m_remoteAddr; - DNSRequest * m_req = NULL; }; class ListenerBase : public StacklessTask { -- cgit v1.2.3