Commit Graph

70 Commits

Author SHA1 Message Date
Charles Kerr a9849660f6 * fix bug that incorrectly marked some incoming connections for termination
* strip unnecessary linefeeds out of some debug messages
2007-10-10 02:59:30 +00:00
Charles Kerr 602ee120af fix recent tracker error reported by John_Clay that made it slower to pick up peers 2007-10-09 04:50:10 +00:00
Charles Kerr 9a79d1e603 the purge flag should take priority over all the other reasons to keep or purge a peer. :p 2007-10-08 01:53:11 +00:00
Charles Kerr e1b447304b fix atom initialization issue with r3320 2007-10-08 01:37:20 +00:00
Charles Kerr 161ff6a7a2 ban peers that feed us too many bad blocks. 2007-10-08 01:31:27 +00:00
Charles Kerr 5d8f9d8b13 try to connect to peers faster when a torrent is initially started. 2007-10-07 04:14:58 +00:00
Charles Kerr c75f49bc26 * add a per-peer request queue to hold the next 10-15 seconds' worth of requests so that we always have more requests at hand when the current requests start to run low.
* increase the tracker `numwant' variable to grow our peer pool
* bugfixes in cancelling requests.
* make the debug log sexy and readable like uTorrent's ;)
2007-10-06 18:20:52 +00:00
Charles Kerr b6483cbf3f don't allow duplicate requests to the same peer, even during endgame. (alus) 2007-10-05 00:16:47 +00:00
Charles Kerr 80979e0240 a little code simplification -- remove unnecessary branches 2007-10-04 20:49:37 +00:00
Charles Kerr 0872b4f40a fix the crash reported by Waldorf and John_Clay 2007-10-04 20:31:19 +00:00
Charles Kerr 5f2bd1d950 speed improvements... this is getting me 700 KiB/s (which is near to my speed cap) in the ubuntu torrent test 2007-10-03 19:00:51 +00:00
Charles Kerr 877e2bb86e some more peer tweaks 2007-10-03 18:19:51 +00:00
Charles Kerr a3d1a254d1 minor source code cleanup... 2007-10-03 16:42:43 +00:00
Charles Kerr 3d2e3cfdfb add pass subscription info into the peer-msgs constructor so that we can start getting information immediately 2007-10-03 04:04:34 +00:00
Charles Kerr 0f550043fd fix peer-mgr.c:1092 asset failure reported by Waldorf_ 2007-10-03 02:46:15 +00:00
Charles Kerr 1f1605986c tear out some now-exterraneous code. 2007-10-02 20:55:14 +00:00
Charles Kerr f4988a3f6e tweak the peer manager code a little more. 2007-10-02 19:54:14 +00:00
Charles Kerr 3dbaa7d673 make the peer manager a little greedier w.r.t. keeping connections alive. 2007-10-02 19:25:18 +00:00
Charles Kerr cdabb1c0b1 clean up the shutdown code a little bit. 2007-10-02 16:12:44 +00:00
Charles Kerr c271cec6a3 work around portability glitch in libevent's headers 2007-10-02 14:58:39 +00:00
Charles Kerr f237bf7047 * simplify the the choking intervals
* fix peer-mgr destructor bug
* send debugging messagese to TR_DEBUG_FD instead of the console
2007-10-02 14:35:02 +00:00
Charles Kerr 77d7cf76a1 fix looong-standing potential dangling pointer bug reported by BMW 2007-10-02 03:33:17 +00:00
Charles Kerr af686b3297 roll back a bug introduced in r3265 2007-10-02 02:01:57 +00:00
Charles Kerr 84ab0092fb some cleanup... remove some dead/obsolete code 2007-10-02 00:05:40 +00:00
Charles Kerr b84305cdf3 more agressive purging of connections that give socket errors 2007-10-01 18:09:59 +00:00
Charles Kerr 4ebe0b563a throttle back how many concurrent connections we make. 2007-10-01 17:51:07 +00:00
Charles Kerr f0562f5947 try to disconnect all the peers when the user hits `pause' 2007-10-01 16:50:51 +00:00
Charles Kerr 75ff12faba don't log BT protocol messages in UL/DL speed -- only log piece data transfers. 2007-10-01 16:31:17 +00:00
Charles Kerr e4fec9eefd add tr_stat.peersKnown to indicate how many peers exist in the peer `pool' 2007-10-01 15:51:54 +00:00
Charles Kerr cba61802cf remove newly-unused field tr_peer_stat::isConnected 2007-10-01 15:41:42 +00:00
Charles Kerr 1a012b8b87 maybe fix the where-are-the-peers-coming-from bug reported by SoftwareElves, John_Clay, and jahpraiseherb 2007-10-01 15:36:31 +00:00
Charles Kerr 5c11c58113 simplify libT locks now that it's (more-or-less) single-threaded. fix deadlocks. make tr_locks nestable. 2007-10-01 15:17:15 +00:00
Charles Kerr f7e3f85e50 follow BT `best practices' more closely w.r.t. choosing which pieces to download 2007-10-01 14:24:22 +00:00
Charles Kerr 9a3c91cad2 ensure TR_PEER_FROM_INCOMING peers get peer atoms. this should fix BentMyWookie's crash. 2007-10-01 05:32:34 +00:00
Charles Kerr 56738f065c fix some memory issues. 2007-10-01 04:12:24 +00:00
Charles Kerr b99084e638 more experimenting with how to get good peers 2007-10-01 03:24:52 +00:00
Charles Kerr 6bef7def52 tweaks 2007-10-01 00:08:12 +00:00
Charles Kerr 7cc6771318 experimental better peer management. 2007-09-30 23:55:49 +00:00
Charles Kerr 8a40a15b16 more work on the peer-mgr locks 2007-09-29 14:19:23 +00:00
Charles Kerr 64239a21e1 prevent a deadlock via the handshake code 2007-09-29 13:47:15 +00:00
Charles Kerr 0812087a4e add mutex locks for thread safety. 2007-09-29 06:37:03 +00:00
Charles Kerr 3f1d888354 improved uTorrent handshaking, after talking to #utorrent-dev about minutae... 2007-09-29 00:46:41 +00:00
Charles Kerr 79973a8a93 commit the next step of tiennou's fastpeers code. 2007-09-28 16:40:21 +00:00
Charles Kerr 92923a0236 remove obsolete MAX_PEERS in internal.h 2007-09-28 16:00:43 +00:00
Charles Kerr 439c1f38c1 some experimental code. (1) try to improve throughput to peers. (2) add first draft of new tr_stat fields requested by BentMyWookie (3) raise the per-torrent peer limit to 100 to match LibTorrent's defaults 2007-09-27 03:03:38 +00:00
Charles Kerr 7ccab9de2c peer i/o cleanup 2007-09-26 14:42:03 +00:00
Charles Kerr 682be6b12e don't bother remembering peers that hang up on us.
don't bother remembering peers that are seeds when we're seeding.
2007-09-26 04:44:54 +00:00
Charles Kerr fef89a3bc7 * record the ports of incoming sockets. we might need them later if we want to disconnect and reconnect.
* for portability, use libevent API for some socket upkeep
2007-09-25 23:10:34 +00:00
Charles Kerr 904359a049 * fix oops from last checkin
* remove some unused fields from internal structures
2007-09-25 22:37:23 +00:00
Charles Kerr 73522af17c fix peer-msgs.c assertion failure. (tbo) 2007-09-25 22:30:41 +00:00