Lines Matching refs:task

22 int CheckTaskFlags(const BaseTask *task, uint32_t flags)  in CheckTaskFlags()  argument
24 if (task == NULL) { in CheckTaskFlags()
27 return ((task->flags & flags) == flags); in CheckTaskFlags()
30 int GetSocketFd(const TaskHandle task) in GetSocketFd() argument
32 BaseTask *stream = (BaseTask *)task; in GetSocketFd()
41 BaseTask *task = (BaseTask *)calloc(1, size + info->userDataSize); in CreateTask() local
42 LE_CHECK(task != NULL, return NULL, "Failed to alloc for task"); in CreateTask()
43 HASHMAPInitNode(&task->hashNode); in CreateTask()
45 task->flags = info->flags; in CreateTask()
46 task->taskId.fd = fd; in CreateTask()
47 LE_STATUS ret = AddTask((EventLoop *)loopHandle, task); in CreateTask()
48 LE_CHECK(ret == LE_SUCCESS, free(task); in CreateTask()
50 task->userDataSize = info->userDataSize; in CreateTask()
51 task->userDataOffset = size; in CreateTask()
52 task->close = info->close; in CreateTask()
53 return task; in CreateTask()
56 void CloseTask(const LoopHandle loopHandle, BaseTask *task) in CloseTask() argument
58 LE_CHECK(loopHandle != NULL && task != NULL, return, "Invalid parameters"); in CloseTask()
59 LE_LOGV("CloseTask %d", task->taskId.fd); in CloseTask()
60 if (CheckTaskFlags(task, TASK_STREAM | TASK_CONNECT) || in CloseTask()
61 CheckTaskFlags(task, TASK_EVENT | TASK_ASYNC_EVENT)) { in CloseTask()
62 StreamTask *stream = (StreamTask *)task; in CloseTask()
69 if (task->close != NULL) { in CloseTask()
70 task->close((TaskHandle)task); in CloseTask()
86 int IsBufferEmpty(StreamTask *task) in IsBufferEmpty() argument
88 LoopMutexLock(&task->mutex); in IsBufferEmpty()
89 int ret = ListEmpty(task->buffHead); in IsBufferEmpty()
90 LoopMutexUnlock(&task->mutex); in IsBufferEmpty()
94 LE_Buffer *GetFirstBuffer(StreamTask *task) in GetFirstBuffer() argument
96 LoopMutexLock(&task->mutex); in GetFirstBuffer()
97 ListNode *node = task->buffHead.next; in GetFirstBuffer()
99 if (node != &task->buffHead) { in GetFirstBuffer()
102 LoopMutexUnlock(&task->mutex); in GetFirstBuffer()
106 void AddBuffer(StreamTask *task, LE_Buffer *buffer) in AddBuffer() argument
108 LoopMutexLock(&task->mutex); in AddBuffer()
109 OH_ListAddTail(&task->buffHead, &buffer->node); in AddBuffer()
110 LoopMutexUnlock(&task->mutex); in AddBuffer()
113 LE_Buffer *GetNextBuffer(StreamTask *task, const LE_Buffer *next) in GetNextBuffer() argument
115 LoopMutexLock(&task->mutex); in GetNextBuffer()
119 node = task->buffHead.next; in GetNextBuffer()
123 if (node != &task->buffHead) { in GetNextBuffer()
126 LoopMutexUnlock(&task->mutex); in GetNextBuffer()
130 void FreeBuffer(const LoopHandle loop, StreamTask *task, LE_Buffer *buffer) in FreeBuffer() argument
133 if (task == NULL) { in FreeBuffer()
137 if (CheckTaskFlags((BaseTask *)task, TASK_STREAM | TASK_CONNECT) || in FreeBuffer()
138 CheckTaskFlags((BaseTask *)task, TASK_EVENT | TASK_ASYNC_EVENT)) { in FreeBuffer()
139 LoopMutexLock(&task->mutex); in FreeBuffer()
141 LoopMutexUnlock(&task->mutex); in FreeBuffer()
198 BaseTask *task = (BaseTask *)taskHandle; in LE_CloseTask() local
199 if (task->innerClose != NULL) { in LE_CloseTask()
200 task->innerClose(loopHandle, taskHandle); in LE_CloseTask()
202 free(task); in LE_CloseTask()