BOOL CDOSObjectProxyService::OnRun() { FUNCTION_BEGIN; EXCEPTION_CATCH_START m_ThreadPerformanceCounter.DoPerformanceCount(); int ProcessCount=CNetService::Update(); LPVOID Pos=m_ConnectionPool.GetFirstObjectPos(); while(Pos) { CDOSProxyConnection * pConnection=m_ConnectionPool.GetNext(Pos); if(pConnection->IsConnected()) ProcessCount+=pConnection->Update(); else DeleteConnection(pConnection); } ProcessCount+=DoMessageProcess(); if(ProcessCount==0) { DoSleep(1); } EXCEPTION_CATCH_END return TRUE; FUNCTION_END; return FALSE; }
/*************************************************************//** * * @brief メッセージ処理を行う * @param テレグラム * @return 正常終了:true * @return 異常終了:false * ****************************************************************/ bool C_BaseEffect::MessageProcess(const S_Telegram& rTelegram) { if (DoMessageProcess(rTelegram) == false) return false; return true; }