int CTracker::Query (void) { CMenu menu (3); int i; NetworkInit (); if (!RequestServerList ()) return 0; menu.AddGauge (" ", -1, 1000); menu.AddText ("", 0); menu.AddText ("(Press Escape to cancel)", 0); menu.Top ()->m_bCentered = 1; nQueryTimeout = SDL_GetTicks (); do { i = menu.Menu (NULL, "Looking for Trackers", TrackerPoll); } while (i >= 0); return i; }
void CMasterTestDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default // Do something clock_t tCurTime; float fElapsed; static int nLastSend, nLastRecv; if (nIDEvent == TEST_TIMER) { tCurTime = clock(); fElapsed = (float)(tCurTime - m_tStartTime)/CLOCKS_PER_SEC; if (fElapsed >= 1.0f/fRate && !m_bTestStopped) { UpdateData( TRUE ); for (int i = 0; i < m_nMasterSockets; i++) { if (g_nTestType == 0) { if (!RequestServerList(m_pMasterSockets[i])) { delete m_pMasterSockets[i]; m_pMasterSockets[i] = NULL; } } else if (g_nTestType == 1) { if (!GetChallenge(m_pMasterSockets[i])) { delete m_pMasterSockets[i]; m_pMasterSockets[i] = NULL; } } } m_tStartTime = clock(); } // Update Send/Receive char szStatus[64]; if (m_nDataSent != nLastSend) { sprintf(szStatus, "%i / %i", m_nRequestsSent, m_nDataSent); nLastSend = m_nDataSent; if (m_statSent.GetSafeHwnd()) m_statSent.SetWindowText(szStatus); } if (m_nDataReceived != nLastRecv) { sprintf(szStatus, "%i / %i", m_nResponsesReceived, m_nDataReceived); nLastRecv = m_nDataReceived; if (m_statRecv.GetSafeHwnd()) m_statRecv.SetWindowText(szStatus); } fElapsed = (float)(tCurTime - m_tTestStartTime)/CLOCKS_PER_SEC; sprintf(szStatus, "%.1f", m_fTestTime - fElapsed); if (fElapsed <= m_fTestTime) { if (m_statTimeLeft.GetSafeHwnd()) m_statTimeLeft.SetWindowText(szStatus); } else { // Shut it down. float fDataTimeOut; fDataTimeOut = (float)(tCurTime - m_tLastDataReceived)/CLOCKS_PER_SEC; if (fDataTimeOut < 30.0f) { OnStoptest(); } else { OnStop(); } } } CDialog::OnTimer(nIDEvent); }