void login_conn_timer_callback(void* callback_data, uint8_t msg, uint32_t handle, void* pParam) { uint64_t cur_time = get_tick_count(); for (ConnMap_t::iterator it = g_client_conn_map.begin(); it != g_client_conn_map.end(); ) { ConnMap_t::iterator it_old = it; it++; CLoginConn* pConn = (CLoginConn*)it_old->second; pConn->OnTimer(cur_time); } for (ConnMap_t::iterator it = g_msg_serv_conn_map.begin(); it != g_msg_serv_conn_map.end(); ) { ConnMap_t::iterator it_old = it; it++; CLoginConn* pConn = (CLoginConn*)it_old->second; pConn->OnTimer(cur_time); } }
//每隔一秒,这个函数就会被调用一次 void login_conn_timer_callback(void* callback_data, uint8_t msg, uint32_t handle, void* pParam) { log("enter[%s]", __FUNCTION__); //两个conn_map里所有的连接都要调用一次OnTimer() uint64_t cur_time = get_tick_count(); for (ConnMap_t::iterator it = g_client_conn_map.begin(); it != g_client_conn_map.end(); ) { ConnMap_t::iterator it_old = it; it++; CLoginConn* pConn = (CLoginConn*)it_old->second; pConn->OnTimer(cur_time); } for (ConnMap_t::iterator it = g_msg_serv_conn_map.begin(); it != g_msg_serv_conn_map.end(); ) { ConnMap_t::iterator it_old = it; it++; CLoginConn* pConn = (CLoginConn*)it_old->second; pConn->OnTimer(cur_time); } log("leave[%s]", __FUNCTION__); }