]> code.citadel.org Git - citadel.git/blobdiff - citadel/event_client.h
Libevent Integration
[citadel.git] / citadel / event_client.h
index 0fc06b81c21e05002f7678b6a8a7c0d37a9cab54..ecaf7f2e5ec0509183b7fa13a9bcd26bf4286d59 100644 (file)
@@ -6,6 +6,7 @@ typedef enum _eNextState {
        eSendReply, 
        eSendMore,
        eReadMessage, 
+       eTerminateConnection,
        eAbort
 }eNextState;
 
@@ -21,11 +22,13 @@ struct AsyncIO {
        IO_CallBack ReadDone, SendDone;
        StrBuf *IOBuf;
        void *Data;
-       eNextState NextState;
+       DeleteHashDataFunc DeleteData; /* data is expected to contain AsyncIO... */
+               eNextState NextState;
 };
 
+void FreeAsyncIOContents(AsyncIO *IO);
 
-int QueueEventContext(void *Ctx, EventContextAttach CB);
+int QueueEventContext(void *Ctx, AsyncIO *IO, EventContextAttach CB);
 
 void InitEventIO(AsyncIO *IO, 
                 void *pData,