void wswcurl_perform_single (wswcurl_req *req) { #if 0 wswcurl_req *r; // curl_easy_perform (req->curl); // remove all other pending transfers if( curlmulti ) { r = http_requests; while( r ) { if( r != req && r->status ) curl_multi_remove_handle(curlmulti, r->curl); r = r->next; } } wswcurl_perform(); // put the transfers back in if( curlmulti ) { r = http_requests; while( r ) { if( r != req && r->status ) curl_multi_add_handle(curlmulti, r->curl); r = r->next; } } #else wswcurl_perform(); #endif }
void StatQuery_Poll( void ) { // TODO: handle and state validation wswcurl_perform(); }
/* * Qcommon_Frame */ void Qcommon_Frame( unsigned int realmsec ) { static dynvar_t *frametick = NULL; static quint64 fc = 0; char *s; int time_before = 0, time_between = 0, time_after = 0; static unsigned int gamemsec; if( setjmp( abortframe ) ) return; // an ERR_DROP was thrown if( log_stats->modified ) { log_stats->modified = qfalse; if( log_stats->integer && !log_stats_file ) { if( FS_FOpenFile( "stats.log", &log_stats_file, FS_WRITE ) != -1 ) { FS_Printf( log_stats_file, "entities,dlights,parts,frame time\n" ); } else { log_stats_file = 0; } } else if( log_stats_file ) { FS_FCloseFile( log_stats_file ); log_stats_file = 0; } } if( fixedtime->integer > 0 ) { gamemsec = fixedtime->integer; } else if( timescale->value >= 0 ) { static float extratime = 0.0f; gamemsec = extratime + (float)realmsec * timescale->value; extratime = ( extratime + (float)realmsec * timescale->value ) - (float)gamemsec; } else { gamemsec = realmsec; } if( com_showtrace->integer ) { Com_Printf( "%4i traces %4i brush traces %4i points\n", c_traces, c_brush_traces, c_pointcontents ); c_traces = 0; c_brush_traces = 0; c_pointcontents = 0; } wswcurl_perform(); FS_Frame(); Steam_RunFrame(); if( dedicated->integer ) { do { s = Sys_ConsoleInput(); if( s ) Cbuf_AddText( va( "%s\n", s ) ); } while( s ); Cbuf_Execute(); } // keep the random time dependent rand(); if( host_speeds->integer ) time_before = Sys_Milliseconds(); SV_Frame( realmsec, gamemsec ); if( host_speeds->integer ) time_between = Sys_Milliseconds(); CL_Frame( realmsec, gamemsec ); if( host_speeds->integer ) time_after = Sys_Milliseconds(); if( host_speeds->integer ) { int all, sv, gm, cl, rf; all = time_after - time_before; sv = time_between - time_before; cl = time_after - time_between; gm = time_after_game - time_before_game; rf = time_after_ref - time_before_ref; sv -= gm; cl -= rf; Com_Printf( "all:%3i sv:%3i gm:%3i cl:%3i rf:%3i\n", all, sv, gm, cl, rf ); } MM_Frame( realmsec ); // wsw : aiwa : generic observer pattern to plug in arbitrary functionality if( !frametick ) frametick = Dynvar_Lookup( "frametick" ); Dynvar_CallListeners( frametick, &fc ); ++fc; }