Beispiel #1
0
//#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;
		}
	}
}	
Beispiel #2
0
int main(void) {
    StartTesting(__testFunctions, sizeof(__testFunctions)/sizeof(*__testFunctions));
	return 0;
}