Lines Matching refs:hSession
143 void HdcSessionBase::ClearOwnTasks(HSession hSession, const uint32_t channelIDInput) in ClearOwnTasks() argument
149 hSession->mapTaskMutex.lock(); in ClearOwnTasks()
151 for (iter = hSession->mapTask->begin(); iter != hSession->mapTask->end();) { in ClearOwnTasks()
161 hSession->sessionId, channelIDInput); in ClearOwnTasks()
162 iter = hSession->mapTask->erase(iter); in ClearOwnTasks()
167 iter = hSession->mapTask->erase(iter); in ClearOwnTasks()
169 hSession->mapTaskMutex.unlock(); in ClearOwnTasks()
177 HSession hSession = (HSession)v.second; in ClearSessions() local
178 if (!hSession->isDead) { in ClearSessions()
179 FreeSession(hSession->sessionId); in ClearSessions()
217 void HdcSessionBase::EnumUSBDeviceRegister(void (*pCallBack)(HSession hSession)) in EnumUSBDeviceRegister() argument
356 int HdcSessionBase::MallocSessionByConnectType(HSession hSession) in MallocSessionByConnectType() argument
359 switch (hSession->connType) { in MallocSessionByConnectType()
361 uv_tcp_init(&loopMain, &hSession->hWorkTCP); in MallocSessionByConnectType()
362 ++hSession->uvHandleRef; in MallocSessionByConnectType()
363 hSession->hWorkTCP.data = hSession; in MallocSessionByConnectType()
373 hSession->hUSB = hUSB; in MallocSessionByConnectType()
374 hSession->hUSB->wMaxPacketSizeSend = MAX_PACKET_SIZE_HISPEED; in MallocSessionByConnectType()
384 hSession->hUART = hUART; in MallocSessionByConnectType()
413 HSession hSession = new(std::nothrow) HdcSession(); in MallocSession() local
414 if (!hSession) { in MallocSession()
420 hSession->classInstance = this; in MallocSession()
421 hSession->connType = connType; in MallocSession()
422 hSession->classModule = classModule; in MallocSession()
423 hSession->isDead = false; in MallocSession()
424 hSession->sessionId = ((sessionId == 0) ? GetSessionPseudoUid() : sessionId); in MallocSession()
425 hSession->serverOrDaemon = serverOrDaemon; in MallocSession()
426 hSession->hWorkThread = uv_thread_self(); in MallocSession()
427 hSession->mapTask = new(std::nothrow) map<uint32_t, HTaskInfo>(); in MallocSession()
428 if (hSession->mapTask == nullptr) { in MallocSession()
430 delete hSession; in MallocSession()
431 hSession = nullptr; in MallocSession()
434 hSession->listKey = new(std::nothrow) list<void *>; in MallocSession()
435 if (hSession->listKey == nullptr) { in MallocSession()
437 delete hSession; in MallocSession()
438 hSession = nullptr; in MallocSession()
441 uv_loop_init(&hSession->childLoop); in MallocSession()
442 hSession->uvHandleRef = 0; in MallocSession()
445 hSession->sessionId, hSession->connType); in MallocSession()
446 ++hSession->uvHandleRef; in MallocSession()
447 Base::CreateSocketPair(hSession->ctrlFd); in MallocSession()
449 hSession->pollHandle[STREAM_WORK] = (uv_poll_t *)malloc(handleSize); in MallocSession()
450 hSession->pollHandle[STREAM_MAIN] = (uv_poll_t *)malloc(handleSize); in MallocSession()
451 uv_poll_t *pollHandleMain = hSession->pollHandle[STREAM_MAIN]; in MallocSession()
452 if (pollHandleMain == nullptr || hSession->pollHandle[STREAM_WORK] == nullptr) { in MallocSession()
454 delete hSession; in MallocSession()
455 hSession = nullptr; in MallocSession()
458 uv_poll_init_socket(&loopMain, pollHandleMain, hSession->ctrlFd[STREAM_MAIN]); in MallocSession()
460 hSession->pollHandle[STREAM_MAIN]->data = hSession; in MallocSession()
461 hSession->pollHandle[STREAM_WORK]->data = hSession; in MallocSession()
463 uv_tcp_init(&loopMain, &hSession->dataPipe[STREAM_MAIN]); in MallocSession()
464 (void)memset_s(&hSession->dataPipe[STREAM_WORK], sizeof(hSession->dataPipe[STREAM_WORK]), in MallocSession()
466 ++hSession->uvHandleRef; in MallocSession()
467 Base::CreateSocketPair(hSession->dataFd); in MallocSession()
468 uv_tcp_open(&hSession->dataPipe[STREAM_MAIN], hSession->dataFd[STREAM_MAIN]); in MallocSession()
469 hSession->dataPipe[STREAM_MAIN].data = hSession; in MallocSession()
470 hSession->dataPipe[STREAM_WORK].data = hSession; in MallocSession()
472 Base::SetTcpOptions(&hSession->dataPipe[STREAM_MAIN], HOST_SOCKETPAIR_SIZE); in MallocSession()
474 Base::SetTcpOptions(&hSession->dataPipe[STREAM_MAIN]); in MallocSession()
476 ret = MallocSessionByConnectType(hSession); in MallocSession()
478 delete hSession; in MallocSession()
479 hSession = nullptr; in MallocSession()
481 AdminSession(OP_ADD, hSession->sessionId, hSession); in MallocSession()
483 return hSession; in MallocSession()
486 void HdcSessionBase::FreeSessionByConnectType(HSession hSession) in FreeSessionByConnectType() argument
488 WRITE_LOG(LOG_DEBUG, "FreeSessionByConnectType %s", hSession->ToDebugString().c_str()); in FreeSessionByConnectType()
490 if (hSession->connType == CONN_USB) { in FreeSessionByConnectType()
492 if (!hSession->hUSB) { in FreeSessionByConnectType()
495 HUSB hUSB = hSession->hUSB; in FreeSessionByConnectType()
509 delete hSession->hUSB; in FreeSessionByConnectType()
510 hSession->hUSB = nullptr; in FreeSessionByConnectType()
513 if (CONN_SERIAL == hSession->connType) { in FreeSessionByConnectType()
514 if (!hSession->hUART) { in FreeSessionByConnectType()
517 HUART hUART = hSession->hUART; in FreeSessionByConnectType()
521 HdcUARTBase *uartBase = (HdcUARTBase *)hSession->classModule; in FreeSessionByConnectType()
523 uartBase->StopSession(hSession); in FreeSessionByConnectType()
534 delete hSession->hUART; in FreeSessionByConnectType()
535 hSession->hUART = nullptr; in FreeSessionByConnectType()
543 HSession hSession = (HSession)handle->data; in FreeSessionFinally() local
544 HdcSessionBase *thisClass = (HdcSessionBase *)hSession->classInstance; in FreeSessionFinally()
545 if (hSession->uvHandleRef > 0) { in FreeSessionFinally()
547 hSession->uvHandleRef, hSession->sessionId); in FreeSessionFinally()
551 thisClass->NotifyInstanceSessionFree(hSession, true); in FreeSessionFinally()
553 thisClass->AdminSession(OP_REMOVE, hSession->sessionId, nullptr); in FreeSessionFinally()
554 WRITE_LOG(LOG_DEBUG, "!!!FreeSessionFinally sessionId:%u finish", hSession->sessionId); in FreeSessionFinally()
555 HdcAuth::FreeKey(!hSession->serverOrDaemon, hSession->listKey); in FreeSessionFinally()
556 delete hSession; in FreeSessionFinally()
557 hSession = nullptr; // fix CodeMars SetNullAfterFree issue in FreeSessionFinally()
563 void HdcSessionBase::FreeSessionContinue(HSession hSession) in FreeSessionContinue() argument
566 HSession hSession = (HSession)handle->data; in FreeSessionContinue() local
567 --hSession->uvHandleRef; in FreeSessionContinue()
569 if (handle == reinterpret_cast<uv_handle_t *>(hSession->pollHandle[STREAM_MAIN])) { in FreeSessionContinue()
570 Base::CloseFd(hSession->ctrlFd[STREAM_MAIN]); in FreeSessionContinue()
571 Base::CloseFd(hSession->ctrlFd[STREAM_WORK]); in FreeSessionContinue()
572 free(hSession->pollHandle[STREAM_MAIN]); in FreeSessionContinue()
575 if (hSession->connType == CONN_TCP) { in FreeSessionContinue()
577 Base::TryCloseHandle((uv_handle_t *)&hSession->hWorkTCP, true, closeSessionTCPHandle); in FreeSessionContinue()
579 hSession->availTailIndex = 0; in FreeSessionContinue()
580 if (hSession->ioBuf) { in FreeSessionContinue()
581 delete[] hSession->ioBuf; in FreeSessionContinue()
582 hSession->ioBuf = nullptr; in FreeSessionContinue()
584 …Base::TryCloseHandle((uv_handle_t *)hSession->pollHandle[STREAM_MAIN], true, closeSessionTCPHandle… in FreeSessionContinue()
585 …Base::TryCloseHandle((uv_handle_t *)&hSession->dataPipe[STREAM_MAIN], true, closeSessionTCPHandle); in FreeSessionContinue()
586 FreeSessionByConnectType(hSession); in FreeSessionContinue()
588 Base::IdleUvTask(&loopMain, hSession, FreeSessionFinally); in FreeSessionContinue()
594 HSession hSession = (HSession)handle->data; in FreeSessionOpeate() local
595 HdcSessionBase *thisClass = (HdcSessionBase *)hSession->classInstance; in FreeSessionOpeate()
596 if (hSession->ref > 0) { in FreeSessionOpeate()
597 WRITE_LOG(LOG_WARN, "FreeSessionOpeate ref:%u > 0", uint32_t(hSession->ref)); in FreeSessionOpeate()
600 WRITE_LOG(LOG_DEBUG, "FreeSessionOpeate ref:%u", uint32_t(hSession->ref)); in FreeSessionOpeate()
602 if (hSession->hUSB != nullptr in FreeSessionOpeate()
603 && (!hSession->hUSB->hostBulkIn.isShutdown || !hSession->hUSB->hostBulkOut.isShutdown)) { in FreeSessionOpeate()
604 HdcUSBBase *pUSB = ((HdcUSBBase *)hSession->classModule); in FreeSessionOpeate()
605 pUSB->CancelUsbIo(hSession); in FreeSessionOpeate()
610 if (hSession->pollHandle[STREAM_WORK]->loop) { in FreeSessionOpeate()
612 Base::SendToPollFd(hSession->ctrlFd[STREAM_MAIN], ctrl.data(), ctrl.size()); in FreeSessionOpeate()
613 …WRITE_LOG(LOG_DEBUG, "FreeSessionOpeate, send workthread for free. sessionId:%u", hSession->sessio… in FreeSessionOpeate()
615 HSession hSession = (HSession)handle->data; in FreeSessionOpeate() local
616 HdcSessionBase *thisClass = (HdcSessionBase *)hSession->classInstance; in FreeSessionOpeate()
617 if (!hSession->childCleared) { in FreeSessionOpeate()
619 hSession->childCleared, hSession->sessionId); in FreeSessionOpeate()
623 thisClass->FreeSessionContinue(hSession); in FreeSessionOpeate()
625 Base::TimerUvTask(&thisClass->loopMain, hSession, callbackCheckFreeSessionContinue); in FreeSessionOpeate()
627 thisClass->FreeSessionContinue(hSession); in FreeSessionOpeate()
639 HSession hSession = AdminSession(OP_QUERY, sessionId, nullptr); in FreeSession() local
642 if (!hSession || hSession->isDead) { in FreeSession()
646 hSession->isDead = true; in FreeSession()
647 Base::TimerUvTask(&loopMain, hSession, FreeSessionOpeate); in FreeSession()
648 NotifyInstanceSessionFree(hSession, false); in FreeSession()
649 …WRITE_LOG(LOG_DEBUG, "FreeSession sessionId:%u ref:%u", hSession->sessionId, uint32_t(hSession->re… in FreeSession()
735 HTaskInfo HdcSessionBase::AdminTask(const uint8_t op, HSession hSession, const uint32_t channelId, … in AdminTask() argument
738 map<uint32_t, HTaskInfo> &mapTask = *hSession->mapTask; in AdminTask()
750 hSession->sessionId, channelId, mapTask.size()); in AdminTask()
756 hSession->sessionId, channelId, mapTask.size()); in AdminTask()
764 AdminSession(op, hSession->sessionId, nullptr); in AdminTask()
772 int HdcSessionBase::SendByProtocol(HSession hSession, uint8_t *bufPtr, const int bufLen, bool echo ) in SendByProtocol() argument
775 if (hSession->isDead) { in SendByProtocol()
781 switch (hSession->connType) { in SendByProtocol()
783 HdcTCPBase *pTCP = ((HdcTCPBase *)hSession->classModule); in SendByProtocol()
784 if (echo && !hSession->serverOrDaemon) { in SendByProtocol()
785 ret = pTCP->WriteUvTcpFd(&hSession->hChildWorkTCP, bufPtr, bufLen); in SendByProtocol()
787 if (hSession->hWorkThread == uv_thread_self()) { in SendByProtocol()
788 ret = pTCP->WriteUvTcpFd(&hSession->hWorkTCP, bufPtr, bufLen); in SendByProtocol()
790 ret = pTCP->WriteUvTcpFd(&hSession->hChildWorkTCP, bufPtr, bufLen); in SendByProtocol()
796 HdcUSBBase *pUSB = ((HdcUSBBase *)hSession->classModule); in SendByProtocol()
797 ret = pUSB->SendUSBBlock(hSession, bufPtr, bufLen); in SendByProtocol()
803 HdcUARTBase *pUART = ((HdcUARTBase *)hSession->classModule); in SendByProtocol()
804 ret = pUART->SendUARTData(hSession, bufPtr, bufLen); in SendByProtocol()
819 HSession hSession = AdminSession(OP_QUERY, sessionId, nullptr); in Send() local
820 if (!hSession) { in Send()
868 return SendByProtocol(hSession, finayBuf, finalBufSize, true); in Send()
870 return SendByProtocol(hSession, finayBuf, finalBufSize); in Send()
874 int HdcSessionBase::DecryptPayload(HSession hSession, PayloadHead *payloadHeadBe, uint8_t *encBuf) in DecryptPayload() argument
891 if (!FetchCommand(hSession, protectBuf.channelId, protectBuf.commandFlag, data, dataSize)) { in DecryptPayload()
899 int HdcSessionBase::OnRead(HSession hSession, uint8_t *bufPtr, const int bufLen) in OnRead() argument
922 if (DecryptPayload(hSession, payloadHead, bufPtr + packetHeadSize)) { in OnRead()
931 int HdcSessionBase::FetchIOBuf(HSession hSession, uint8_t *ioBuf, int read) in FetchIOBuf() argument
933 HdcSessionBase *ptrConnect = (HdcSessionBase *)hSession->classInstance; in FetchIOBuf()
944 hSession->availTailIndex += read; in FetchIOBuf()
945 while (!hSession->isDead && hSession->availTailIndex > static_cast<int>(sizeof(PayloadHead))) { in FetchIOBuf()
946 childRet = ptrConnect->OnRead(hSession, ioBuf + indexBuf, hSession->availTailIndex); in FetchIOBuf()
948 hSession->availTailIndex -= childRet; in FetchIOBuf()
954 … WRITE_LOG(LOG_FATAL, "FetchIOBuf error childRet:%d sessionId:%u", childRet, hSession->sessionId); in FetchIOBuf()
955 hSession->availTailIndex = 0; // Preventing malicious data packages in FetchIOBuf()
961 if (indexBuf > 0 && hSession->availTailIndex > 0) { in FetchIOBuf()
962 …if (memmove_s(hSession->ioBuf, hSession->bufSize, hSession->ioBuf + indexBuf, hSession->availTailI… in FetchIOBuf()
966 … uint8_t *bufToZero = reinterpret_cast<uint8_t *>(hSession->ioBuf + hSession->availTailIndex); in FetchIOBuf()
967 Base::ZeroBuf(bufToZero, hSession->bufSize - hSession->availTailIndex); in FetchIOBuf()
983 HSession hSession = (HSession)req->handle->data; in FinishWriteSessionTCP() local
984 --hSession->ref; in FinishWriteSessionTCP()
985 HdcSessionBase *thisClass = (HdcSessionBase *)hSession->classInstance; in FinishWriteSessionTCP()
988 status, hSession->sessionId, hSession->isDead, uint32_t(hSession->ref)); in FinishWriteSessionTCP()
990 if (!hSession->isDead && !hSession->ref) { in FinishWriteSessionTCP()
991 WRITE_LOG(LOG_DEBUG, "FinishWriteSessionTCP freesession :%u", hSession->sessionId); in FinishWriteSessionTCP()
992 thisClass->FreeSession(hSession->sessionId); in FinishWriteSessionTCP()
999 bool HdcSessionBase::DispatchSessionThreadCommand(HSession hSession, const uint8_t *baseBuf, in DispatchSessionThreadCommand() argument
1020 HSession hSession = (HSession)poll->data; in ReadCtrlFromSession() local
1021 HdcSessionBase *hSessionBase = (HdcSessionBase *)hSession->classInstance; in ReadCtrlFromSession()
1024 ssize_t nread = Base::ReadFromFd(hSession->ctrlFd[STREAM_MAIN], buf, size); in ReadCtrlFromSession()
1040 … hSessionBase->DispatchSessionThreadCommand(hSession, reinterpret_cast<uint8_t *>(buf), nread); in ReadCtrlFromSession()
1046 bool HdcSessionBase::WorkThreadStartSession(HSession hSession) in WorkThreadStartSession() argument
1050 if (hSession->connType == CONN_TCP) { in WorkThreadStartSession()
1051 HdcTCPBase *pTCPBase = (HdcTCPBase *)hSession->classModule; in WorkThreadStartSession()
1052 hSession->hChildWorkTCP.data = hSession; in WorkThreadStartSession()
1053 if (uv_tcp_init(&hSession->childLoop, &hSession->hChildWorkTCP) < 0) { in WorkThreadStartSession()
1057 if ((childRet = uv_tcp_open(&hSession->hChildWorkTCP, hSession->fdChildWorkTCP)) < 0) { in WorkThreadStartSession()
1061 … WRITE_LOG(LOG_DEBUG, "SessionCtrl failed 2,fd:%d,str:%s", hSession->fdChildWorkTCP, buf); in WorkThreadStartSession()
1064 Base::SetTcpOptions((uv_tcp_t *)&hSession->hChildWorkTCP); in WorkThreadStartSession()
1065 uv_read_start((uv_stream_t *)&hSession->hChildWorkTCP, AllocCallback, pTCPBase->ReadStream); in WorkThreadStartSession()
1068 } else if (hSession->connType == CONN_SERIAL) { // UART in WorkThreadStartSession()
1069 HdcUARTBase *pUARTBase = (HdcUARTBase *)hSession->classModule; in WorkThreadStartSession()
1071 regOK = pUARTBase->ReadyForWorkThread(hSession); in WorkThreadStartSession()
1074 HdcUSBBase *pUSBBase = (HdcUSBBase *)hSession->classModule; in WorkThreadStartSession()
1076 regOK = pUSBBase->ReadyForWorkThread(hSession); in WorkThreadStartSession()
1079 if (regOK && hSession->serverOrDaemon) { in WorkThreadStartSession()
1083 handshake.sessionId = hSession->sessionId; in WorkThreadStartSession()
1084 handshake.connectKey = hSession->connectKey; in WorkThreadStartSession()
1085 if (!hSession->isCheck) { in WorkThreadStartSession()
1093 hSession->sessionId, handshake.authType, hs.c_str()); in WorkThreadStartSession()
1095 Send(hSession->sessionId, 0, CMD_KERNEL_HANDSHAKE, in WorkThreadStartSession()
1124 bool HdcSessionBase::DispatchMainThreadCommand(HSession hSession, const CtrlStruct *ctrl) in DispatchMainThreadCommand() argument
1131 hSession->sessionId, hSession->serverOrDaemon ? "server" : "daemon"); in DispatchMainThreadCommand()
1132 ret = WorkThreadStartSession(hSession); in DispatchMainThreadCommand()
1136 … WRITE_LOG(LOG_DEBUG, "Dispatch MainThreadCommand STOP_SESSION sessionId:%u", hSession->sessionId); in DispatchMainThreadCommand()
1138 HSession hSession = (HSession)handle->data; in DispatchMainThreadCommand() local
1140 if (handle == (uv_handle_t *)hSession->pollHandle[STREAM_WORK]) { in DispatchMainThreadCommand()
1141 free(hSession->pollHandle[STREAM_WORK]); in DispatchMainThreadCommand()
1143 if (--hSession->uvChildRef == 0) { in DispatchMainThreadCommand()
1144 uv_stop(&hSession->childLoop); in DispatchMainThreadCommand()
1147 hSession->uvChildRef += 2; in DispatchMainThreadCommand()
1148 … if (hSession->connType == CONN_TCP && hSession->hChildWorkTCP.loop) { // maybe not use it in DispatchMainThreadCommand()
1149 ++hSession->uvChildRef; in DispatchMainThreadCommand()
1150 …Base::TryCloseHandle((uv_handle_t *)&hSession->hChildWorkTCP, true, closeSessionChildThreadTCPHand… in DispatchMainThreadCommand()
1152 Base::TryCloseHandle((uv_handle_t *)hSession->pollHandle[STREAM_WORK], true, in DispatchMainThreadCommand()
1154 Base::TryCloseHandle((uv_handle_t *)&hSession->dataPipe[STREAM_WORK], true, in DispatchMainThreadCommand()
1162 AttachChannel(hSession, channelId); in DispatchMainThreadCommand()
1169 DeatchChannel(hSession, channelId); in DispatchMainThreadCommand()
1183 HSession hSession = (HSession)poll->data; in ReadCtrlFromMain() local
1184 HdcSessionBase *hSessionBase = (HdcSessionBase *)hSession->classInstance; in ReadCtrlFromMain()
1189 ssize_t nread = Base::ReadFromFd(hSession->ctrlFd[STREAM_WORK], buf, size); in ReadCtrlFromMain()
1203 if (!hSessionBase->DispatchMainThreadCommand(hSession, ctrl)) { in ReadCtrlFromMain()
1205 hSession->sessionId, ctrl->channelId, ctrl->command); in ReadCtrlFromMain()
1216 void HdcSessionBase::ReChildLoopForSessionClear(HSession hSession) in ReChildLoopForSessionClear() argument
1219 ClearOwnTasks(hSession, 0); in ReChildLoopForSessionClear()
1220 WRITE_LOG(LOG_INFO, "ReChildLoopForSessionClear sessionId:%u", hSession->sessionId); in ReChildLoopForSessionClear()
1222 HSession hSession = (HSession)handle->data; in ReChildLoopForSessionClear() local
1223 for (auto v : *hSession->mapTask) { in ReChildLoopForSessionClear()
1235 hSession = thisClass->AdminSession(OP_QUERY, hTask->sessionId, nullptr); in ReChildLoopForSessionClear()
1236 thisClass->AdminTask(OP_VOTE_RESET, hSession, hTask->channelId, nullptr); in ReChildLoopForSessionClear()
1243 uv_stop(&hSession->childLoop); // stop ReChildLoopForSessionClear pendding in ReChildLoopForSessionClear()
1245 …Base::TimerUvTask(&hSession->childLoop, hSession, clearTaskForSessionFinish, (GLOBAL_TIMEOUT * TIM… in ReChildLoopForSessionClear()
1246 uv_run(&hSession->childLoop, UV_RUN_DEFAULT); in ReChildLoopForSessionClear()
1248 Base::TryCloseChildLoop(&hSession->childLoop, "Session childUV"); in ReChildLoopForSessionClear()
1253 HSession hSession = (HSession)arg->data; in SessionWorkThread() local
1254 HdcSessionBase *thisClass = (HdcSessionBase *)hSession->classInstance; in SessionWorkThread()
1255 hSession->hWorkChildThread = uv_thread_self(); in SessionWorkThread()
1257 uv_poll_t *pollHandle = hSession->pollHandle[STREAM_WORK]; in SessionWorkThread()
1258 pollHandle->data = hSession; in SessionWorkThread()
1259 uv_poll_init_socket(&hSession->childLoop, pollHandle, hSession->ctrlFd[STREAM_WORK]); in SessionWorkThread()
1261 WRITE_LOG(LOG_DEBUG, "!!!Workthread run begin, sessionId:%u instance:%s", hSession->sessionId, in SessionWorkThread()
1263 uv_run(&hSession->childLoop, UV_RUN_DEFAULT); // work pendding in SessionWorkThread()
1264 WRITE_LOG(LOG_DEBUG, "!!!Workthread run again, sessionId:%u", hSession->sessionId); in SessionWorkThread()
1266 thisClass->ReChildLoopForSessionClear(hSession); // work pending again in SessionWorkThread()
1267 hSession->childCleared = true; in SessionWorkThread()
1268 WRITE_LOG(LOG_DEBUG, "!!!Workthread run finish, sessionId:%u", hSession->sessionId); in SessionWorkThread()
1325 bool HdcSessionBase::DispatchTaskData(HSession hSession, const uint32_t channelId, const uint16_t c… in DispatchTaskData() argument
1342 hTaskInfo->sessionId = hSession->sessionId; in DispatchTaskData()
1343 hTaskInfo->runLoop = &hSession->childLoop; in DispatchTaskData()
1351 if (AdminTask(OP_ADD, hSession, channelId, hTaskInfo)) { in DispatchTaskData()
1368 hTaskInfo = AdminTask(OP_QUERY, hSession, channelId, nullptr); in DispatchTaskData()
1374 ret = RedirectToTask(hTaskInfo, hSession, channelId, command, payload, payloadSize); in DispatchTaskData()