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_livesync.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_livesync.c')
-rw-r--r-- | ot_livesync.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/ot_livesync.c b/ot_livesync.c index 1b1efe0..b447e83 100644 --- a/ot_livesync.c +++ b/ot_livesync.c | |||
@@ -94,10 +94,11 @@ static void livesync_issuepacket( ) { | |||
94 | 94 | ||
95 | /* Inform live sync about whats going on. */ | 95 | /* Inform live sync about whats going on. */ |
96 | void livesync_tell( ot_hash * const info_hash, const ot_peer * const peer ) { | 96 | void livesync_tell( ot_hash * const info_hash, const ot_peer * const peer ) { |
97 | memmove( livesync_outbuffer_pos , info_hash, sizeof(ot_hash)); | 97 | int i; |
98 | memmove( livesync_outbuffer_pos + sizeof(ot_hash), peer, sizeof(ot_peer)); | 98 | for(i=0;i<20;i+=4) WRITE32(livesync_outbuffer_pos+=4,0,READ32(info_hash,i)); |
99 | 99 | WRITE32(livesync_outbuffer_pos+=4,0,READ32(peer,0)); | |
100 | livesync_outbuffer_pos += sizeof(ot_hash) + sizeof(ot_peer); | 100 | WRITE32(livesync_outbuffer_pos+=4,0,READ32(peer,4)); |
101 | |||
101 | if( livesync_outbuffer_pos >= livesync_outbuffer_highwater ) | 102 | if( livesync_outbuffer_pos >= livesync_outbuffer_highwater ) |
102 | livesync_issuepacket(); | 103 | livesync_issuepacket(); |
103 | } | 104 | } |
@@ -146,7 +147,7 @@ static void * livesync_worker( void * args ) { | |||
146 | ot_peer *peer = (ot_peer*)(livesync_inbuffer + off + sizeof(ot_hash)); | 147 | ot_peer *peer = (ot_peer*)(livesync_inbuffer + off + sizeof(ot_hash)); |
147 | ot_hash *hash = (ot_hash*)(livesync_inbuffer + off); | 148 | ot_hash *hash = (ot_hash*)(livesync_inbuffer + off); |
148 | 149 | ||
149 | if( OT_FLAG(peer) & PEER_FLAG_STOPPED ) | 150 | if( OT_PEERFLAG(peer) & PEER_FLAG_STOPPED ) |
150 | remove_peer_from_torrent(hash, peer, NULL, FLAG_MCA); | 151 | remove_peer_from_torrent(hash, peer, NULL, FLAG_MCA); |
151 | else | 152 | else |
152 | add_peer_to_torrent( hash, peer WANT_SYNC_PARAM(1)); | 153 | add_peer_to_torrent( hash, peer WANT_SYNC_PARAM(1)); |