Libev / libc-ares Migration
[citadel.git] / citadel / event_client.h
index 6032a3c17167e0ce11b35eb3fe520d562bf250a4..35ce4246e214eb7d8b6f22b563928f4851507295 100644 (file)
@@ -33,11 +33,14 @@ struct AsyncIO {
        int IP6;
        struct hostent *HEnt;
        int sock;
+       unsigned short dport;
        int active_event;
                eNextState NextState;
+
+       ev_timer conn_fail, 
+               conn_timeout;
        ev_io recv_event, 
-               send_event, 
-               dns_io_event;
+               send_event;
        StrBuf *ErrMsg; /* if we fail to connect, or lookup, error goes here. */
 
        /* read/send related... */
@@ -54,10 +57,16 @@ struct AsyncIO {
 
        IO_LineReaderCallback LineReader; /* if we have linereaders, maybe we want to read more lines before the real application logic is called? */
 
+
+       int active_dns_event;
+       ev_io dns_recv_event, 
+               dns_send_event;
        struct ares_options DNSOptions;
        ares_channel DNSChannel;
+
        ParseDNSAnswerCb DNS_CB;
        IO_CallBack PostDNS;
+
        int DNSStatus;
        void *VParsedDNSReply;
        FreeDNSReply DNSReplyFree;
@@ -85,6 +94,7 @@ void InitEventIO(AsyncIO *IO,
                 IO_CallBack Timeout, 
                 IO_CallBack ConnFail, 
                 IO_LineReaderCallback LineReader,
+                int conn_timeout, int first_rw_timeout,
                 int ReadFirst);
 
 int QueueQuery(ns_type Type, char *name, AsyncIO *IO, IO_CallBack PostDNS);