]> git.saurik.com Git - redis.git/blobdiff - ae.h
A problem with replication with multiple slaves connectiong to a single master fixed...
[redis.git] / ae.h
diff --git a/ae.h b/ae.h
index 499063ca962dd1381d1848b375ad1a71a9edbad1..a9db18ed93356f759ceee4ecc60c5e68c655db60 100644 (file)
--- a/ae.h
+++ b/ae.h
@@ -2,7 +2,7 @@
  * for the Jim's event-loop (Jim is a Tcl interpreter) but later translated
  * it in form of a library for easy reuse.
  *
  * for the Jim's event-loop (Jim is a Tcl interpreter) but later translated
  * it in form of a library for easy reuse.
  *
- * Copyright (c) 2006-2009, Salvatore Sanfilippo <antirez at gmail dot com>
+ * Copyright (c) 2006-2010, Salvatore Sanfilippo <antirez at gmail dot com>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@
 #define AE_NONE 0
 #define AE_READABLE 1
 #define AE_WRITABLE 2
 #define AE_NONE 0
 #define AE_READABLE 1
 #define AE_WRITABLE 2
-#define AE_EXCEPTION 4
 
 #define AE_FILE_EVENTS 1
 #define AE_TIME_EVENTS 2
 
 #define AE_FILE_EVENTS 1
 #define AE_TIME_EVENTS 2
@@ -59,13 +58,13 @@ struct aeEventLoop;
 typedef void aeFileProc(struct aeEventLoop *eventLoop, int fd, void *clientData, int mask);
 typedef int aeTimeProc(struct aeEventLoop *eventLoop, long long id, void *clientData);
 typedef void aeEventFinalizerProc(struct aeEventLoop *eventLoop, void *clientData);
 typedef void aeFileProc(struct aeEventLoop *eventLoop, int fd, void *clientData, int mask);
 typedef int aeTimeProc(struct aeEventLoop *eventLoop, long long id, void *clientData);
 typedef void aeEventFinalizerProc(struct aeEventLoop *eventLoop, void *clientData);
+typedef void aeBeforeSleepProc(struct aeEventLoop *eventLoop);
 
 /* File event structure */
 typedef struct aeFileEvent {
 
 /* File event structure */
 typedef struct aeFileEvent {
-    int mask; /* one of AE_(READABLE|WRITABLE|EXCEPTION) */
+    int mask; /* one of AE_(READABLE|WRITABLE) */
     aeFileProc *rfileProc;
     aeFileProc *wfileProc;
     aeFileProc *rfileProc;
     aeFileProc *wfileProc;
-    aeFileProc *efileProc;
     void *clientData;
 } aeFileEvent;
 
     void *clientData;
 } aeFileEvent;
 
@@ -95,6 +94,7 @@ typedef struct aeEventLoop {
     aeTimeEvent *timeEventHead;
     int stop;
     void *apidata; /* This is used for polling API specific data */
     aeTimeEvent *timeEventHead;
     int stop;
     void *apidata; /* This is used for polling API specific data */
+    aeBeforeSleepProc *beforesleep;
 } aeEventLoop;
 
 /* Prototypes */
 } aeEventLoop;
 
 /* Prototypes */
@@ -111,5 +111,7 @@ int aeDeleteTimeEvent(aeEventLoop *eventLoop, long long id);
 int aeProcessEvents(aeEventLoop *eventLoop, int flags);
 int aeWait(int fd, int mask, long long milliseconds);
 void aeMain(aeEventLoop *eventLoop);
 int aeProcessEvents(aeEventLoop *eventLoop, int flags);
 int aeWait(int fd, int mask, long long milliseconds);
 void aeMain(aeEventLoop *eventLoop);
+char *aeGetApiName(void);
+void aeSetBeforeSleepProc(aeEventLoop *eventLoop, aeBeforeSleepProc *beforesleep);
 
 #endif
 
 #endif