Lines Matching refs:hSession
44 bool HdcHostUART::NeedStop(const HSession hSession) in NeedStop() argument
46 return (!uartOpened or (hSession->isDead and hSession->ref == 0)); in NeedStop()
75 void HdcHostUART::UartReadThread(HSession hSession) in UartReadThread() argument
77 HUART hUART = hSession->hUART; in UartReadThread()
83 if (NeedStop(hSession)) { in UartReadThread()
90 OnTransferError(hSession); in UartReadThread()
108 expectedSize = PackageProcess(dataReadBuf, hSession); in UartReadThread()
413 void HdcHostUART::UpdateUARTDaemonInfo(const std::string &connectKey, HSession hSession, in EnumSerialPort() argument
422 diNew.hSession = hSession; in EnumSerialPort()
425 hSession == nullptr ? "<null>" : hSession->ToDebugString().c_str(), connStatus); in EnumSerialPort()
428 if (hSession != nullptr and hSession->hUART != nullptr) { in EnumSerialPort()
429 connectedPorts.erase(hSession->hUART->serialPort); in EnumSerialPort()
433 if (hSession != nullptr and hSession->hUART != nullptr) { in EnumSerialPort()
434 connectedPorts.emplace(hSession->hUART->serialPort); in EnumSerialPort()
448 bool HdcHostUART::StartUartReadThread(HSession hSession) in EnumSerialPort() argument
451 HUART hUART = hSession->hUART; in EnumSerialPort()
452 hUART->readThread = std::thread(&HdcHostUART::UartReadThread, this, hSession); in EnumSerialPort()
454 server.FreeSession(hSession->sessionId); in EnumSerialPort()
455 UpdateUARTDaemonInfo(hSession->connectKey, hSession, STATUS_UNKNOW); in EnumSerialPort()
479 HSession HdcHostUART::ConnectDaemonByUart(const HSession hSession, const HDaemonInfo) in EnumSerialPort() argument
485 HUART hUART = hSession->hUART; in EnumSerialPort()
486 UpdateUARTDaemonInfo(hSession->connectKey, hSession, STATUS_READY); in EnumSerialPort()
488 if (!StartUartReadThread(hSession)) { in EnumSerialPort()
494 Base::FinishWorkThread, hSession); in EnumSerialPort()
496 while (hSession->childLoop.active_handles == 0) { in EnumSerialPort()
500 externInterface.SendToPollFd(hSession->ctrlFd[STREAM_MAIN], ctrl.data(), ctrl.size()); in EnumSerialPort()
501 return hSession; in EnumSerialPort()
555 if (hdi != nullptr and hdi->hSession == nullptr) { in EnumSerialPort()
574 HSession hSession = server.MallocSession(true, CONN_SERIAL, this); in EnumSerialPort() local
575 if (!hSession) { in EnumSerialPort()
579 hSession->connectKey = connectKey; in EnumSerialPort()
581 hSession->hUART->devUartHandle = hUART->devUartHandle; in EnumSerialPort()
583 hSession->hUART->devUartHandle = hUART->devUartHandle; in EnumSerialPort()
586 hSession->isCheck = isCheck; in EnumSerialPort()
587 hSession->hUART->serialPort = hUART->serialPort; in EnumSerialPort()
588 WRITE_LOG(LOG_DEBUG, "%s connectkey:%s,port:%s", __FUNCTION__, hSession->connectKey.c_str(), in EnumSerialPort()
593 server.FreeSession(hSession->sessionId); in EnumSerialPort()
597 waitTimeDoCmd->data = hSession; in EnumSerialPort()
600 WRITE_LOG(LOG_DEBUG, "%s for %s:%s fail.", __FUNCTION__, hSession->connectKey.c_str(), in EnumSerialPort()
602 server.FreeSession(hSession->sessionId); in EnumSerialPort()
610 void HdcHostUART::KickoutZombie(HSession hSession) in EnumSerialPort() argument
612 if (hSession == nullptr or hSession->hUART == nullptr or hSession->isDead) { in EnumSerialPort()
616 if (hSession->hUART->devUartHandle == INVALID_HANDLE_VALUE) { in EnumSerialPort()
620 if (hSession->hUART->devUartHandle < 0) { in EnumSerialPort()
624 WRITE_LOG(LOG_DEBUG, "%s FreeSession %s", __FUNCTION__, hSession->ToDebugString().c_str()); in EnumSerialPort()
625 server.FreeSession(hSession->sessionId); in EnumSerialPort()
687 void HdcHostUART::StopSession(HSession hSession) in EnumSerialPort() argument
689 if (hSession == nullptr) { in EnumSerialPort()
694 hSession->ToDebugString().c_str()); in EnumSerialPort()
695 HUART hUART = hSession->hUART; in EnumSerialPort()
716 HdcUARTBase::StopSession(hSession); in EnumSerialPort()
766 void HdcHostUART::SendUartSoftReset(HSession hSession, uint32_t sessionId) in EnumSerialPort() argument