diff options
| author | erdgeist <> | 2008-12-06 18:46:00 +0000 |
|---|---|---|
| committer | erdgeist <> | 2008-12-06 18:46:00 +0000 |
| commit | 08c71627839a9134367db354c8255f7a720e1ff3 (patch) | |
| tree | b429abf6b3c26c7f851b522f5d4fb6797ad02d29 /ot_fullscrape.c | |
| parent | a4ed31d517f77a21afe12918a9cb256489daac74 (diff) | |
Renamed OT_FLAG to OT_PEERFLAG to make code easier to read
Introduced READ16/32 and WRITE16/32 makros to abstract loading/storing from unaligned addresses away on cpu's that can actually load/store everywhere
Removed all unnecessary memmoves, especially where it only moved 6 bytes in inner loop. I replaced them with WRITE16/32(READ16/32()) makros
Diffstat (limited to 'ot_fullscrape.c')
| -rw-r--r-- | ot_fullscrape.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ot_fullscrape.c b/ot_fullscrape.c index dfad640..5f61afd 100644 --- a/ot_fullscrape.c +++ b/ot_fullscrape.c | |||
| @@ -113,7 +113,7 @@ static int fullscrape_increase( int *iovec_entries, struct iovec **iovector, | |||
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | static void fullscrape_make( int *iovec_entries, struct iovec **iovector, ot_tasktype mode ) { | 115 | static void fullscrape_make( int *iovec_entries, struct iovec **iovector, ot_tasktype mode ) { |
| 116 | int bucket; | 116 | int bucket,i; |
| 117 | char *r, *re; | 117 | char *r, *re; |
| 118 | #ifdef WANT_COMPRESSION_GZIP | 118 | #ifdef WANT_COMPRESSION_GZIP |
| 119 | char compress_buffer[OT_SCRAPE_MAXENTRYLEN]; | 119 | char compress_buffer[OT_SCRAPE_MAXENTRYLEN]; |
| @@ -163,7 +163,7 @@ static void fullscrape_make( int *iovec_entries, struct iovec **iovector, ot_tas | |||
| 163 | 163 | ||
| 164 | /* push hash as bencoded string */ | 164 | /* push hash as bencoded string */ |
| 165 | *r++='2'; *r++='0'; *r++=':'; | 165 | *r++='2'; *r++='0'; *r++=':'; |
| 166 | memmove( r, hash, 20 ); r+=20; | 166 | for(i=0;i<20;i+=4) WRITE32(r+=4,0,READ32(hash,i)); |
| 167 | 167 | ||
| 168 | /* push rest of the scrape string */ | 168 | /* push rest of the scrape string */ |
| 169 | r += sprintf( r, "d8:completei%zde10:downloadedi%zde10:incompletei%zdee", peer_list->seed_count, peer_list->down_count, peer_list->peer_count-peer_list->seed_count ); | 169 | r += sprintf( r, "d8:completei%zde10:downloadedi%zde10:incompletei%zdee", peer_list->seed_count, peer_list->down_count, peer_list->peer_count-peer_list->seed_count ); |
| @@ -174,7 +174,7 @@ static void fullscrape_make( int *iovec_entries, struct iovec **iovector, ot_tas | |||
| 174 | r += sprintf( r, ":%zd:%zd\n", peer_list->seed_count, peer_list->peer_count-peer_list->seed_count ); | 174 | r += sprintf( r, ":%zd:%zd\n", peer_list->seed_count, peer_list->peer_count-peer_list->seed_count ); |
| 175 | break; | 175 | break; |
| 176 | case TASK_FULLSCRAPE_TPB_BINARY: | 176 | case TASK_FULLSCRAPE_TPB_BINARY: |
| 177 | memmove( r, hash, 20 ); r+=20; | 177 | for(i=0;i<20;i+=4) WRITE32(r+=4,0,READ32(hash,i)); |
| 178 | *(uint32_t*)r++ = htonl( (uint32_t)peer_list->seed_count ); | 178 | *(uint32_t*)r++ = htonl( (uint32_t)peer_list->seed_count ); |
| 179 | *(uint32_t*)r++ = htonl( (uint32_t)( peer_list->peer_count-peer_list->seed_count) ); | 179 | *(uint32_t*)r++ = htonl( (uint32_t)( peer_list->peer_count-peer_list->seed_count) ); |
| 180 | break; | 180 | break; |
