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()
412 void HdcHostUART::UpdateUARTDaemonInfo(const std::string &connectKey, HSession hSession, in EnumSerialPort() argument
421 diNew.hSession = hSession; in EnumSerialPort()
424 hSession == nullptr ? "<null>" : hSession->ToDebugString().c_str(), connStatus); in EnumSerialPort()
427 if (hSession != nullptr and hSession->hUART != nullptr) { in EnumSerialPort()
428 connectedPorts.erase(hSession->hUART->serialPort); in EnumSerialPort()
432 if (hSession != nullptr and hSession->hUART != nullptr) { in EnumSerialPort()
433 connectedPorts.emplace(hSession->hUART->serialPort); in EnumSerialPort()
447 bool HdcHostUART::StartUartReadThread(HSession hSession) in EnumSerialPort() argument
450 HUART hUART = hSession->hUART; in EnumSerialPort()
451 hUART->readThread = std::thread(&HdcHostUART::UartReadThread, this, hSession); in EnumSerialPort()
453 server.FreeSession(hSession->sessionId); in EnumSerialPort()
454 UpdateUARTDaemonInfo(hSession->connectKey, hSession, STATUS_UNKNOW); in EnumSerialPort()
478 HSession HdcHostUART::ConnectDaemonByUart(const HSession hSession, const HDaemonInfo) in EnumSerialPort() argument
484 HUART hUART = hSession->hUART; in EnumSerialPort()
485 UpdateUARTDaemonInfo(hSession->connectKey, hSession, STATUS_READY); in EnumSerialPort()
487 if (!StartUartReadThread(hSession)) { in EnumSerialPort()
493 Base::FinishWorkThread, hSession); in EnumSerialPort()
495 while (hSession->childLoop.active_handles == 0) { in EnumSerialPort()
499 externInterface.SendToPollFd(hSession->ctrlFd[STREAM_MAIN], ctrl.data(), ctrl.size()); in EnumSerialPort()
500 return hSession; in EnumSerialPort()
554 if (hdi != nullptr and hdi->hSession == nullptr) { in EnumSerialPort()
573 HSession hSession = server.MallocSession(true, CONN_SERIAL, this); in EnumSerialPort() local
574 hSession->connectKey = connectKey; in EnumSerialPort()
576 hSession->hUART->devUartHandle = hUART->devUartHandle; in EnumSerialPort()
578 hSession->hUART->devUartHandle = hUART->devUartHandle; in EnumSerialPort()
581 hSession->isCheck = isCheck; in EnumSerialPort()
582 hSession->hUART->serialPort = hUART->serialPort; in EnumSerialPort()
583 WRITE_LOG(LOG_DEBUG, "%s connectkey:%s,port:%s", __FUNCTION__, hSession->connectKey.c_str(), in EnumSerialPort()
591 waitTimeDoCmd->data = hSession; in EnumSerialPort()
594 WRITE_LOG(LOG_DEBUG, "%s for %s:%s fail.", __FUNCTION__, hSession->connectKey.c_str(), in EnumSerialPort()
603 void HdcHostUART::KickoutZombie(HSession hSession) in EnumSerialPort() argument
605 if (hSession == nullptr or hSession->hUART == nullptr or hSession->isDead) { in EnumSerialPort()
609 if (hSession->hUART->devUartHandle == INVALID_HANDLE_VALUE) { in EnumSerialPort()
613 if (hSession->hUART->devUartHandle < 0) { in EnumSerialPort()
617 WRITE_LOG(LOG_DEBUG, "%s FreeSession %s", __FUNCTION__, hSession->ToDebugString().c_str()); in EnumSerialPort()
618 server.FreeSession(hSession->sessionId); in EnumSerialPort()
680 void HdcHostUART::StopSession(HSession hSession) in EnumSerialPort() argument
682 if (hSession == nullptr) { in EnumSerialPort()
687 hSession->ToDebugString().c_str()); in EnumSerialPort()
688 HUART hUART = hSession->hUART; in EnumSerialPort()
709 HdcUARTBase::StopSession(hSession); in EnumSerialPort()
759 void HdcHostUART::SendUartSoftReset(HSession hSession, uint32_t sessionId) in EnumSerialPort() argument