summaryrefslogtreecommitdiff
path: root/src/ae.h
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2011-12-15 11:42:40 +0100
committerantirez <antirez@gmail.com>2011-12-15 11:42:40 +0100
commite074416be49947c7bab5e237fab7210441bd99e5 (patch)
treee126e02f9fca9f4ed38fe58d9d2e622257c46369 /src/ae.h
parent503d87a818ffd11c275bba6479bcd5b4a855e8ca (diff)
downloadredis-e074416be49947c7bab5e237fab7210441bd99e5.tar.gz
Max limit to 10k clients removed, this implements feature request on issue #194
Diffstat (limited to 'src/ae.h')
-rw-r--r--src/ae.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/ae.h b/src/ae.h
index 9e23a6fde..e1dccfc76 100644
--- a/src/ae.h
+++ b/src/ae.h
@@ -33,8 +33,6 @@
#ifndef __AE_H__
#define __AE_H__
-#define AE_SETSIZE (1024*10) /* Max number of fd supported */
-
#define AE_OK 0
#define AE_ERR -1
@@ -87,10 +85,11 @@ typedef struct aeFiredEvent {
/* State of an event based program */
typedef struct aeEventLoop {
- int maxfd;
+ int maxfd; /* highest file descriptor currently registered */
+ int setsize; /* max number of file descriptors tracked */
long long timeEventNextId;
- aeFileEvent events[AE_SETSIZE]; /* Registered events */
- aeFiredEvent fired[AE_SETSIZE]; /* Fired events */
+ aeFileEvent *events; /* Registered events */
+ aeFiredEvent *fired; /* Fired events */
aeTimeEvent *timeEventHead;
int stop;
void *apidata; /* This is used for polling API specific data */
@@ -98,7 +97,7 @@ typedef struct aeEventLoop {
} aeEventLoop;
/* Prototypes */
-aeEventLoop *aeCreateEventLoop(void);
+aeEventLoop *aeCreateEventLoop(int setsize);
void aeDeleteEventLoop(aeEventLoop *eventLoop);
void aeStop(aeEventLoop *eventLoop);
int aeCreateFileEvent(aeEventLoop *eventLoop, int fd, int mask,