Lines Matching refs:eventLoop

64     aeEventLoop *eventLoop;  in aeCreateEventLoop()  local
67 if ((eventLoop = zmalloc(sizeof(*eventLoop))) == NULL) goto err; in aeCreateEventLoop()
68 eventLoop->events = zmalloc(sizeof(aeFileEvent)*setsize); in aeCreateEventLoop()
69 eventLoop->fired = zmalloc(sizeof(aeFiredEvent)*setsize); in aeCreateEventLoop()
70 if (eventLoop->events == NULL || eventLoop->fired == NULL) goto err; in aeCreateEventLoop()
71 eventLoop->setsize = setsize; in aeCreateEventLoop()
72 eventLoop->lastTime = time(NULL); in aeCreateEventLoop()
73 eventLoop->timeEventHead = NULL; in aeCreateEventLoop()
74 eventLoop->timeEventNextId = 0; in aeCreateEventLoop()
75 eventLoop->stop = 0; in aeCreateEventLoop()
76 eventLoop->maxfd = -1; in aeCreateEventLoop()
77 eventLoop->beforesleep = NULL; in aeCreateEventLoop()
78 if (aeApiCreate(eventLoop) == -1) goto err; in aeCreateEventLoop()
82 eventLoop->events[i].mask = AE_NONE; in aeCreateEventLoop()
83 return eventLoop; in aeCreateEventLoop()
86 if (eventLoop) { in aeCreateEventLoop()
87 zfree(eventLoop->events); in aeCreateEventLoop()
88 zfree(eventLoop->fired); in aeCreateEventLoop()
89 zfree(eventLoop); in aeCreateEventLoop()
95 int aeGetSetSize(aeEventLoop *eventLoop) { in aeGetSetSize() argument
96 return eventLoop->setsize; in aeGetSetSize()
106 int aeResizeSetSize(aeEventLoop *eventLoop, int setsize) { in aeResizeSetSize() argument
109 if (setsize == eventLoop->setsize) return AE_OK; in aeResizeSetSize()
110 if (eventLoop->maxfd >= setsize) return AE_ERR; in aeResizeSetSize()
111 if (aeApiResize(eventLoop,setsize) == -1) return AE_ERR; in aeResizeSetSize()
113 eventLoop->events = zrealloc(eventLoop->events,sizeof(aeFileEvent)*setsize); in aeResizeSetSize()
114 eventLoop->fired = zrealloc(eventLoop->fired,sizeof(aeFiredEvent)*setsize); in aeResizeSetSize()
115 eventLoop->setsize = setsize; in aeResizeSetSize()
119 for (i = eventLoop->maxfd+1; i < setsize; i++) in aeResizeSetSize()
120 eventLoop->events[i].mask = AE_NONE; in aeResizeSetSize()
124 void aeDeleteEventLoop(aeEventLoop *eventLoop) { in aeDeleteEventLoop() argument
125 aeApiFree(eventLoop); in aeDeleteEventLoop()
126 zfree(eventLoop->events); in aeDeleteEventLoop()
127 zfree(eventLoop->fired); in aeDeleteEventLoop()
128 zfree(eventLoop); in aeDeleteEventLoop()
131 void aeStop(aeEventLoop *eventLoop) { in aeStop() argument
132 eventLoop->stop = 1; in aeStop()
135 int aeCreateFileEvent(aeEventLoop *eventLoop, int fd, int mask, in aeCreateFileEvent() argument
138 if (fd >= eventLoop->setsize) { in aeCreateFileEvent()
142 aeFileEvent *fe = &eventLoop->events[fd]; in aeCreateFileEvent()
144 if (aeApiAddEvent(eventLoop, fd, mask) == -1) in aeCreateFileEvent()
150 if (fd > eventLoop->maxfd) in aeCreateFileEvent()
151 eventLoop->maxfd = fd; in aeCreateFileEvent()
155 void aeDeleteFileEvent(aeEventLoop *eventLoop, int fd, int mask) in aeDeleteFileEvent() argument
157 if (fd >= eventLoop->setsize) return; in aeDeleteFileEvent()
158 aeFileEvent *fe = &eventLoop->events[fd]; in aeDeleteFileEvent()
161 aeApiDelEvent(eventLoop, fd, mask); in aeDeleteFileEvent()
163 if (fd == eventLoop->maxfd && fe->mask == AE_NONE) { in aeDeleteFileEvent()
167 for (j = eventLoop->maxfd-1; j >= 0; j--) in aeDeleteFileEvent()
168 if (eventLoop->events[j].mask != AE_NONE) break; in aeDeleteFileEvent()
169 eventLoop->maxfd = j; in aeDeleteFileEvent()
173 int aeGetFileEvents(aeEventLoop *eventLoop, int fd) { in aeGetFileEvents() argument
174 if (fd >= eventLoop->setsize) return 0; in aeGetFileEvents()
175 aeFileEvent *fe = &eventLoop->events[fd]; in aeGetFileEvents()
203 long long aeCreateTimeEvent(aeEventLoop *eventLoop, long long milliseconds, in aeCreateTimeEvent() argument
207 long long id = eventLoop->timeEventNextId++; in aeCreateTimeEvent()
217 te->next = eventLoop->timeEventHead; in aeCreateTimeEvent()
218 eventLoop->timeEventHead = te; in aeCreateTimeEvent()
222 int aeDeleteTimeEvent(aeEventLoop *eventLoop, long long id) in aeDeleteTimeEvent() argument
224 aeTimeEvent *te = eventLoop->timeEventHead; in aeDeleteTimeEvent()
246 static aeTimeEvent *aeSearchNearestTimer(aeEventLoop *eventLoop) in aeSearchNearestTimer() argument
248 aeTimeEvent *te = eventLoop->timeEventHead; in aeSearchNearestTimer()
262 static int processTimeEvents(aeEventLoop *eventLoop) { in processTimeEvents() argument
276 if (now < eventLoop->lastTime) { in processTimeEvents()
277 te = eventLoop->timeEventHead; in processTimeEvents()
283 eventLoop->lastTime = now; in processTimeEvents()
286 te = eventLoop->timeEventHead; in processTimeEvents()
287 maxId = eventLoop->timeEventNextId-1; in processTimeEvents()
296 eventLoop->timeEventHead = te->next; in processTimeEvents()
300 te->finalizerProc(eventLoop, te->clientData); in processTimeEvents()
322 retval = te->timeProc(eventLoop, id, te->clientData); in processTimeEvents()
349 int aeProcessEvents(aeEventLoop *eventLoop, int flags) in aeProcessEvents() argument
360 if (eventLoop->maxfd != -1 || in aeProcessEvents()
367 shortest = aeSearchNearestTimer(eventLoop); in aeProcessEvents()
400 numevents = aeApiPoll(eventLoop, tvp); in aeProcessEvents()
402 aeFileEvent *fe = &eventLoop->events[eventLoop->fired[j].fd]; in aeProcessEvents()
403 int mask = eventLoop->fired[j].mask; in aeProcessEvents()
404 int fd = eventLoop->fired[j].fd; in aeProcessEvents()
412 fe->rfileProc(eventLoop,fd,fe->clientData,mask); in aeProcessEvents()
416 fe->wfileProc(eventLoop,fd,fe->clientData,mask); in aeProcessEvents()
423 processed += processTimeEvents(eventLoop); in aeProcessEvents()
450 void aeMain(aeEventLoop *eventLoop) { in aeMain() argument
451 eventLoop->stop = 0; in aeMain()
452 while (!eventLoop->stop) { in aeMain()
453 if (eventLoop->beforesleep != NULL) in aeMain()
454 eventLoop->beforesleep(eventLoop); in aeMain()
455 aeProcessEvents(eventLoop, AE_ALL_EVENTS); in aeMain()
463 void aeSetBeforeSleepProc(aeEventLoop *eventLoop, aeBeforeSleepProc *beforesleep) { in aeSetBeforeSleepProc() argument
464 eventLoop->beforesleep = beforesleep; in aeSetBeforeSleepProc()