//#pragma optimize("", off) void VMVupManager::_UpdateRDVPoint() { RDVPointListIterator it = m_poRDVList.begin(); while(it != m_poRDVList.end()) { RDVPointInfo& info = (*it).second; D_CHECK(info.m_RunningInfo.IsValid()); f32 fNow = GameEngine::GetGameEngine()->GetClockMod()->GetTotalElapsedSeconds(); if(info.m_RunningInfo.m_ClientList.size() >= info.m_uiExpectedNum || fNow - info.m_RunningInfo.m_fStartTime >= (f32)info.m_uiTimeOut) { //Default value s32 iDelayOfStartTime = 5000; s32 iIntervalOfEachGroup = 0; s32 iMaxGroupNum = 1; s32 iRunningID = info.m_RunningInfo.m_uiCurrentRunningID; RDVPointParameterListIterator itRDVPointParam = m_poRDVParam.find(Protocal::GetRDVPointID(Protocal::GetRDVPointMajor(iRunningID), 0)); if(itRDVPointParam != m_poRDVParam.end()) { RDVPointParameter& param = (*itRDVPointParam).second; iDelayOfStartTime = param.m_iDelayOfStartTime; iIntervalOfEachGroup = param.m_iIntervalOfEachGroup; iMaxGroupNum = param.m_iGroupNum; } struct __timeb64 timebuffer; _ftime64(&timebuffer); __int64 curTime = timebuffer.time * 1000 + timebuffer.millitm; for(s32 i = 0; i < info.m_RunningInfo.m_ClientList.size(); ++i) { VMVup* pVup = FindVup(info.m_RunningInfo.m_ClientList[i]); if(!pVup) continue; if(pVup->GetGroup() >= 0) { StartTesting(pVup, curTime + iDelayOfStartTime + pVup->GetGroup() * iIntervalOfEachGroup); } } for(s32 i = 0; i < iMaxGroupNum; ++i) { __int64 nowms = curTime + iDelayOfStartTime + i * iIntervalOfEachGroup; __int64 nows = nowms / 1000; char timeline[26]; ctime_s(timeline, 26, &(nows)); LOG_INFO("RDVPoint(%d,%d)..Group(%d)..Time of starting test: %.19s.%03hu\n", Protocal::GetRDVPointMajor(iRunningID), Protocal::GetRDVPointMinor(iRunningID), i, timeline, nowms % 1000); } VMSummary::GetPtr()->RemoveRDVPoint(Protocal::GetRDVPointMajor(iRunningID), Protocal::GetRDVPointMinor(iRunningID)); it = m_poRDVList.erase(it); } else { ++it; } } }
int main(void) { StartTesting(__testFunctions, sizeof(__testFunctions)/sizeof(*__testFunctions)); return 0; }