From e074416be49947c7bab5e237fab7210441bd99e5 Mon Sep 17 00:00:00 2001 From: antirez Date: Thu, 15 Dec 2011 11:42:40 +0100 Subject: Max limit to 10k clients removed, this implements feature request on issue #194 --- src/ae.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/ae.h') 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, -- cgit v1.2.1