Lines Matching refs:loop
53 static LE_STATUS CreateLoop_(EventLoop **loop, uint32_t maxevents, uint32_t timeout) in CreateLoop_() argument
56 LE_STATUS ret = CreateEpollLoop(loop, maxevents, timeout); in CreateLoop_()
59 (*loop)->maxevents = maxevents; in CreateLoop_()
60 (*loop)->timeout = timeout; in CreateLoop_()
61 (*loop)->stop = 0; in CreateLoop_()
62 LoopMutexInit(&(*loop)->mutex); in CreateLoop_()
64 OH_ListInit(&((*loop)->idleList)); in CreateLoop_()
74 ret = OH_HashMapCreate(&(*loop)->taskMap, &info); in CreateLoop_()
76 OH_ListInit(&((*loop)->timerList)); in CreateLoop_()
80 LE_STATUS CloseLoop(EventLoop *loop) in CloseLoop() argument
82 if (!loop->stop) { in CloseLoop()
85 OH_HashMapDestory(loop->taskMap, loop); in CloseLoop()
86 if (loop->close) { in CloseLoop()
87 loop->close(loop); in CloseLoop()
92 LE_STATUS ProcessEvent(const EventLoop *loop, int fd, uint32_t oper) in ProcessEvent() argument
94 BaseTask *task = GetTaskByFd((EventLoop *)loop, fd); in ProcessEvent()
96 task->handleEvent((LoopHandle)loop, (TaskHandle)task, oper); in ProcessEvent()
98 loop->delEvent(loop, fd, EVENT_READ | EVENT_WRITE); in ProcessEvent()
103 LE_STATUS AddTask(EventLoop *loop, BaseTask *task) in AddTask() argument
105 LoopMutexLock(&loop->mutex); in AddTask()
106 int ret = OH_HashMapAdd(loop->taskMap, &task->hashNode); in AddTask()
107 LoopMutexUnlock(&loop->mutex); in AddTask()
116 BaseTask *GetTaskByFd(EventLoop *loop, int fd) in GetTaskByFd() argument
119 LoopMutexLock(&loop->mutex); in GetTaskByFd()
121 HashNode *node = OH_HashMapGet(loop->taskMap, &id); in GetTaskByFd()
125 LoopMutexUnlock(&loop->mutex); in GetTaskByFd()
129 void DelTask(EventLoop *loop, BaseTask *task) in DelTask() argument
131 loop->delEvent(loop, task->taskId.fd, in DelTask()
133 LoopMutexLock(&loop->mutex); in DelTask()
134 OH_HashMapRemove(loop->taskMap, (TaskId *)task); in DelTask()
135 LoopMutexUnlock(&loop->mutex); in DelTask()
150 EventLoop *loop = NULL; in LE_CreateLoop() local
151 LE_STATUS ret = CreateLoop_(&loop, LOOP_MAX_SOCKET, DEFAULT_TIMEOUT); in LE_CreateLoop()
152 *handle = (LoopHandle)loop; in LE_CreateLoop()
159 EventLoop *loop = (EventLoop *)handle; in LE_RunLoop() local
160 loop->runLoop(loop); in LE_RunLoop()
175 EventLoop *loop = (EventLoop *)handle; in LE_StopLoop() local
176 loop->stop = 1; in LE_StopLoop()