From d7c26dc71bd3cc04824ad979d31c1386dd5b1fa3 Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Wed, 13 Dec 2006 02:44:39 +0000 Subject: Trackerlogic done... not tested yet --- trackerlogic.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'trackerlogic.c') diff --git a/trackerlogic.c b/trackerlogic.c index c57d1a9..5d83abb 100644 --- a/trackerlogic.c +++ b/trackerlogic.c @@ -110,7 +110,22 @@ int vector_remove_torrent( ot_vector vector, ot_hash *hash ) { } void clean_peerlist( ot_peerlist peer_list ) { - exit( 1 ); + long timedout = NOW-peer_list->base; + int i; + + if( !timedout ) return; + if( timedout > OT_POOLS_COUNT ) timedout = OT_POOLS_COUNT; + + for( i=OT_POOLS_COUNT-timedout; ipeers[i].data); + + MEMMOVE( peer_list->peers + timedout, peer_list->peers, sizeof( ot_vector ) * (OT_POOLS_COUNT-timedout) ); + byte_zero( peer_list->peers, sizeof( ot_vector ) * timedout ); + + MEMMOVE( peer_list->seed_count + timedout, peer_list->seed_count, sizeof( unsigned long ) * (OT_POOLS_COUNT-timedout) ); + byte_zero( peer_list->seed_count, sizeof( unsigned long ) * timedout ); + + peer_list->base = NOW; } ot_torrent add_peer_to_torrent( ot_hash *hash, ot_peer peer ) { -- cgit v1.2.3