int main(int argc, char* argv[]) { //WSAData wsaData; //WSAStartup(MAKEWORD(2, 2), &wsaData); ASockIOInit(); MsgLoop_Init(); Async_Init(); if(OptGetValue(argc-1, &argv[1], "play", NULL)) { bReplayMode = true; pLoop = MsgLoop_Create(); pLoop->Playback(CSGGameLoopCallback::GetSingleton(), OptGetValue(argc-1, &argv[1], "play", NULL)); } else { pLoop = MsgLoop_Create(); pLoop->Start(CSGGameLoopCallback::GetSingleton(), 1000, OptGetValue(argc-1, &argv[1], "record", NULL)); InitTCPServer(1980); getchar(); FinalTCPServer(); pLoop->Stop(); pLoop->Wait(); CSGGameLoopCallback::Cleanup(); } Async_Final(); MsgLoop_Final(); ASockIOFini(); //WSACleanup(); return 0; }
CAsyncIOInit() { ASockIOInit(); ZION_ASSERT(!m_workers); ZION_ASSERT(!m_iopool); m_workers = CreateWorkers(1); m_iopool = AllocIoBufferPool(1024, 1024, 0, 0); }
CStressManager::CStressManager() { ASockIOInit(); A_MUTEX_INIT(&m_mtxLocker); m_nIDSeq = 0; _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); m_hTimerQueue = CreateTimerQueue(); }