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_()
72 return OH_HashMapCreate(&(*loop)->taskMap, &info); in CreateLoop_()
75 LE_STATUS CloseLoop(EventLoop *loop) in CloseLoop() argument
77 if (!loop->stop) { in CloseLoop()
80 OH_HashMapDestory(loop->taskMap, loop); in CloseLoop()
81 if (loop->close) { in CloseLoop()
82 loop->close(loop); in CloseLoop()
87 LE_STATUS ProcessEvent(const EventLoop *loop, int fd, uint32_t oper) in ProcessEvent() argument
89 BaseTask *task = GetTaskByFd((EventLoop *)loop, fd); in ProcessEvent()
94 task->handleEvent((LoopHandle)loop, (TaskHandle)task, oper); in ProcessEvent()
96 loop->delEvent(loop, fd, oper); in ProcessEvent()
101 LE_STATUS AddTask(EventLoop *loop, BaseTask *task) in AddTask() argument
103 LoopMutexLock(&loop->mutex); in AddTask()
104 int ret = OH_HashMapAdd(loop->taskMap, &task->hashNode); in AddTask()
105 LoopMutexUnlock(&loop->mutex); in AddTask()
114 BaseTask *GetTaskByFd(EventLoop *loop, int fd) in GetTaskByFd() argument
117 LoopMutexLock(&loop->mutex); in GetTaskByFd()
119 HashNode *node = OH_HashMapGet(loop->taskMap, &id); in GetTaskByFd()
123 LoopMutexUnlock(&loop->mutex); in GetTaskByFd()
127 void DelTask(EventLoop *loop, BaseTask *task) in DelTask() argument
129 loop->delEvent(loop, task->taskId.fd, in DelTask()
131 LoopMutexLock(&loop->mutex); in DelTask()
132 OH_HashMapRemove(loop->taskMap, (TaskId *)task); in DelTask()
133 LoopMutexUnlock(&loop->mutex); in DelTask()
148 EventLoop *loop = NULL; in LE_CreateLoop() local
149 LE_STATUS ret = CreateLoop_(&loop, LOOP_MAX_SOCKET, DEFAULT_TIMEOUT); in LE_CreateLoop()
150 *handle = (LoopHandle)loop; in LE_CreateLoop()
157 EventLoop *loop = (EventLoop *)handle; in LE_RunLoop() local
158 loop->runLoop(loop); in LE_RunLoop()
173 EventLoop *loop = (EventLoop *)handle; in LE_StopLoop() local
174 loop->stop = 1; in LE_StopLoop()