summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ot_mutex.c6
-rw-r--r--ot_mutex.h4
-rw-r--r--trackerlogic.c14
-rw-r--r--trackerlogic.h14
4 files changed, 19 insertions, 19 deletions
diff --git a/ot_mutex.c b/ot_mutex.c
index 88a7af8..6457f29 100644
--- a/ot_mutex.c
+++ b/ot_mutex.c
@@ -36,8 +36,8 @@ ot_vector *mutex_bucket_lock( int bucket ) {
36 return all_torrents + bucket; 36 return all_torrents + bucket;
37} 37}
38 38
39ot_vector *mutex_bucket_lock_by_hash( ot_hash hash ) { 39ot_vector *mutex_bucket_lock_by_hash( ot_hash const hash ) {
40 return mutex_bucket_lock( uint32_read_big( (char*)hash ) >> OT_BUCKET_COUNT_SHIFT ); 40 return mutex_bucket_lock( uint32_read_big( (const char*)hash ) >> OT_BUCKET_COUNT_SHIFT );
41} 41}
42 42
43void mutex_bucket_unlock( int bucket, int delta_torrentcount ) { 43void mutex_bucket_unlock( int bucket, int delta_torrentcount ) {
@@ -45,7 +45,7 @@ void mutex_bucket_unlock( int bucket, int delta_torrentcount ) {
45 g_torrent_count += delta_torrentcount; 45 g_torrent_count += delta_torrentcount;
46} 46}
47 47
48void mutex_bucket_unlock_by_hash( ot_hash hash, int delta_torrentcount ) { 48void mutex_bucket_unlock_by_hash( ot_hash const hash, int delta_torrentcount ) {
49 mutex_bucket_unlock( uint32_read_big( (char*)hash ) >> OT_BUCKET_COUNT_SHIFT, delta_torrentcount ); 49 mutex_bucket_unlock( uint32_read_big( (char*)hash ) >> OT_BUCKET_COUNT_SHIFT, delta_torrentcount );
50} 50}
51 51
diff --git a/ot_mutex.h b/ot_mutex.h
index 8d64cf6..fdb08a1 100644
--- a/ot_mutex.h
+++ b/ot_mutex.h
@@ -12,10 +12,10 @@ void mutex_init( void );
12void mutex_deinit( void ); 12void mutex_deinit( void );
13 13
14ot_vector *mutex_bucket_lock( int bucket ); 14ot_vector *mutex_bucket_lock( int bucket );
15ot_vector *mutex_bucket_lock_by_hash( ot_hash hash ); 15ot_vector *mutex_bucket_lock_by_hash( ot_hash const hash );
16 16
17void mutex_bucket_unlock( int bucket, int delta_torrentcount ); 17void mutex_bucket_unlock( int bucket, int delta_torrentcount );
18void mutex_bucket_unlock_by_hash( ot_hash hash, int delta_torrentcount ); 18void mutex_bucket_unlock_by_hash( ot_hash const hash, int delta_torrentcount );
19 19
20size_t mutex_get_torrent_count(void); 20size_t mutex_get_torrent_count(void);
21 21
diff --git a/trackerlogic.c b/trackerlogic.c
index 9d564c1..81bee94 100644
--- a/trackerlogic.c
+++ b/trackerlogic.c
@@ -45,7 +45,7 @@ void free_peerlist( ot_peerlist *peer_list ) {
45 free( peer_list ); 45 free( peer_list );
46} 46}
47 47
48void add_torrent_from_saved_state( ot_hash hash, ot_time base, size_t down_count ) { 48void add_torrent_from_saved_state( ot_hash const hash, ot_time base, size_t down_count ) {
49 int exactmatch; 49 int exactmatch;
50 ot_torrent *torrent; 50 ot_torrent *torrent;
51 ot_vector *torrents_list = mutex_bucket_lock_by_hash( hash ); 51 ot_vector *torrents_list = mutex_bucket_lock_by_hash( hash );
@@ -317,7 +317,7 @@ size_t return_peers_for_torrent( struct ot_workstruct * ws, ot_torrent *torrent,
317} 317}
318 318
319/* Fetches scrape info for a specific torrent */ 319/* Fetches scrape info for a specific torrent */
320size_t return_udp_scrape_for_torrent( ot_hash hash, char *reply ) { 320size_t return_udp_scrape_for_torrent( ot_hash const hash, char *reply ) {
321 int exactmatch, delta_torrentcount = 0; 321 int exactmatch, delta_torrentcount = 0;
322 ot_vector *torrents_list = mutex_bucket_lock_by_hash( hash ); 322 ot_vector *torrents_list = mutex_bucket_lock_by_hash( hash );
323 ot_torrent *torrent = binary_search( hash, torrents_list->data, torrents_list->size, sizeof( ot_torrent ), OT_HASH_COMPARE_SIZE, &exactmatch ); 323 ot_torrent *torrent = binary_search( hash, torrents_list->data, torrents_list->size, sizeof( ot_torrent ), OT_HASH_COMPARE_SIZE, &exactmatch );
@@ -343,17 +343,17 @@ size_t return_udp_scrape_for_torrent( ot_hash hash, char *reply ) {
343} 343}
344 344
345/* Fetches scrape info for a specific torrent */ 345/* Fetches scrape info for a specific torrent */
346size_t return_tcp_scrape_for_torrent( ot_hash *hash_list, int amount, char *reply ) { 346size_t return_tcp_scrape_for_torrent( ot_hash const *hash_list, int amount, char *reply ) {
347 char *r = reply; 347 char *r = reply;
348 int exactmatch, i; 348 int exactmatch, i;
349 349
350 r += sprintf( r, "d5:filesd" ); 350 r += sprintf( r, "d5:filesd" );
351 351
352 for( i=0; i<amount; ++i ) { 352 for( i=0; i<amount; ++i ) {
353 int delta_torrentcount = 0; 353 int delta_torrentcount = 0;
354 ot_hash *hash = hash_list + i; 354 ot_hash const *hash = hash_list + i;
355 ot_vector *torrents_list = mutex_bucket_lock_by_hash( *hash ); 355 ot_vector *torrents_list = mutex_bucket_lock_by_hash( *hash );
356 ot_torrent *torrent = binary_search( hash, torrents_list->data, torrents_list->size, sizeof( ot_torrent ), OT_HASH_COMPARE_SIZE, &exactmatch ); 356 ot_torrent *torrent = binary_search( hash, torrents_list->data, torrents_list->size, sizeof( ot_torrent ), OT_HASH_COMPARE_SIZE, &exactmatch );
357 357
358 if( exactmatch ) { 358 if( exactmatch ) {
359 if( clean_single_torrent( torrent ) ) { 359 if( clean_single_torrent( torrent ) ) {
diff --git a/trackerlogic.h b/trackerlogic.h
index 24ef097..4fb8bc7 100644
--- a/trackerlogic.h
+++ b/trackerlogic.h
@@ -82,7 +82,7 @@ typedef enum { FLAG_TCP, FLAG_UDP, FLAG_MCA, FLAG_SELFPIPE } PROTO_FLAG;
82#define OT_PEER_SIZE6 ((OT_TIME_SIZE)+(OT_FLAG_SIZE)+(OT_PEER_COMPARE_SIZE6)) 82#define OT_PEER_SIZE6 ((OT_TIME_SIZE)+(OT_FLAG_SIZE)+(OT_PEER_COMPARE_SIZE6))
83#define OT_PEER_SIZE4 ((OT_TIME_SIZE)+(OT_FLAG_SIZE)+(OT_PEER_COMPARE_SIZE4)) 83#define OT_PEER_SIZE4 ((OT_TIME_SIZE)+(OT_FLAG_SIZE)+(OT_PEER_COMPARE_SIZE4))
84 84
85typedef uint8_t ot_peer[1]; 85typedef uint8_t ot_peer[1]; /* Generic pointer to a v6 or v4 peer */
86typedef uint8_t ot_peer6[OT_PEER_SIZE6]; 86typedef uint8_t ot_peer6[OT_PEER_SIZE6];
87typedef uint8_t ot_peer4[OT_PEER_SIZE4]; 87typedef uint8_t ot_peer4[OT_PEER_SIZE4];
88static const uint8_t PEER_FLAG_SEEDING = 0x80; 88static const uint8_t PEER_FLAG_SEEDING = 0x80;
@@ -96,11 +96,11 @@ ot_peer *peer_from_peer6(ot_peer6 *peer, size_t *peer_size);
96size_t peer_size_from_peer6(ot_peer6 *peer); 96size_t peer_size_from_peer6(ot_peer6 *peer);
97 97
98/* New style */ 98/* New style */
99#define OT_SETIP(peer,ip) memcpy((peer),(ip),OT_IP_SIZE6) 99#define OT_SETIP(peer,ip) memcpy((uint8_t*)(peer),(ip),OT_IP_SIZE6)
100#define OT_SETPORT(peer,port) memcpy(((uint8_t*)(peer))+(OT_IP_SIZE6),(port),2) 100#define OT_SETPORT(peer,port) memcpy(((uint8_t*)(peer))+(OT_IP_SIZE6),(port),2)
101#define OT_PEERFLAG(peer) (((uint8_t*)(peer))[(OT_IP_SIZE6)+2]) 101#define OT_PEERFLAG(peer) (((uint8_t*)(peer))[(OT_IP_SIZE6)+2])
102#define OT_PEERFLAG_D(peer,peersize) (((uint8_t*)(peer))[(peersize)-2]) 102#define OT_PEERFLAG_D(peer,peersize) (((uint8_t*)(peer))[(peersize)-2])
103#define OT_PEERTIME(peer,peersize) (((uint8_t*)(peer))[(peersize)-1]) 103#define OT_PEERTIME(peer,peersize) (((uint8_t*)(peer))[(peersize)-1])
104 104
105#define PEERS_BENCODED6 "6:peers6" 105#define PEERS_BENCODED6 "6:peers6"
106#define PEERS_BENCODED4 "5:peers" 106#define PEERS_BENCODED4 "5:peers"
@@ -187,9 +187,9 @@ void exerr( char * message );
187 otherwise it is released in return_peers_for_torrent */ 187 otherwise it is released in return_peers_for_torrent */
188size_t add_peer_to_torrent_and_return_peers( PROTO_FLAG proto, struct ot_workstruct *ws, size_t amount ); 188size_t add_peer_to_torrent_and_return_peers( PROTO_FLAG proto, struct ot_workstruct *ws, size_t amount );
189size_t remove_peer_from_torrent( PROTO_FLAG proto, struct ot_workstruct *ws ); 189size_t remove_peer_from_torrent( PROTO_FLAG proto, struct ot_workstruct *ws );
190size_t return_tcp_scrape_for_torrent( ot_hash *hash, int amount, char *reply ); 190size_t return_tcp_scrape_for_torrent( ot_hash const *hash_list, int amount, char *reply );
191size_t return_udp_scrape_for_torrent( ot_hash hash, char *reply ); 191size_t return_udp_scrape_for_torrent( ot_hash const hash, char *reply );
192void add_torrent_from_saved_state( ot_hash hash, ot_time base, size_t down_count ); 192void add_torrent_from_saved_state( ot_hash const hash, ot_time base, size_t down_count );
193 193
194/* torrent iterator */ 194/* torrent iterator */
195void iterate_all_torrents( int (*for_each)( ot_torrent* torrent, uintptr_t data ), uintptr_t data ); 195void iterate_all_torrents( int (*for_each)( ot_torrent* torrent, uintptr_t data ), uintptr_t data );