Commit Graph

113 Commits

Author SHA1 Message Date
Charles Kerr 591f7f8b10 * improve the unchoking algorithm.
* when deciding which peers to connect to, take peer's previous speeds into account
* longer delay interval before reconnecting to peers that didn't give us data
* added uTorrent-inspired "flags" column in tr_peer_stat and gtk's torrent details' "peer" tab
2008-01-09 17:33:43 +00:00
Charles Kerr 1e45d3e478 better lazy generation of "allowed set": wait until we get the {have-all|have-none|bitfield} from the peer so that we'll know if they qualify for an allowed set 2008-01-06 22:20:44 +00:00
Charles Kerr 35f73c097c lazy "allowed set" generation. add regression test for "allowed set" generation. 2008-01-06 21:56:30 +00:00
Charles Kerr 6c3eab0a92 #585: 1.00 could be sped up by elminating reconnect intervals for some peers 2008-01-05 18:17:56 +00:00
Charles Kerr 085235b10b remove some unused #include <ctype.h> directives 2008-01-03 20:17:01 +00:00
Charles Kerr ee2cffa196 #579: assertion failure in ~r4410 2008-01-03 03:45:10 +00:00
Charles Kerr c6d2e60f52 fix comment typo reported by BigBossman 2007-12-27 22:50:20 +00:00
Charles Kerr e870440025 add a per-block request TTL of 120 seconds 2007-12-25 17:22:51 +00:00
Charles Kerr 473907d891 a little housekeeping: move tr_torrent stuff into its own header 2007-12-25 05:37:32 +00:00
Charles Kerr 401cfbdb6b replace the per-torrent PEX setting with a global one, as per discussion with SoftwareElves and BentMyWookie 2007-12-24 05:03:40 +00:00
Charles Kerr 4ff5b472a8 raise the maximum connection limit a bit. 2007-12-15 16:36:43 +00:00
Charles Kerr 39d8c74fcd small tweak to play nice with old C compilers. Thanks to fizz for reporting & submitting a patch 2007-12-03 19:52:55 +00:00
Charles Kerr abef433926 improve upload speeds when the speed limits are uncapped. 2007-12-01 23:08:34 +00:00
Charles Kerr 1e4b3a0577 make the peer stats a little easier to understand 2007-11-27 21:39:41 +00:00
Charles Kerr e354b82452 disable SWIFT on private trackers, because they are typically ratio-based sites where you *want* to upload as much as possible to deadbeats 2007-11-26 04:05:12 +00:00
Charles Kerr 8caa113d4b fix LTEP PEX error reported by Adrian Ulrich in the BitTorrent mailing list 2007-11-22 06:48:08 +00:00
Charles Kerr 91e672d428 some progress on the overall statistics, though probably not visible to end users yet 2007-11-21 20:03:53 +00:00
Charles Kerr 9f9901b3fa tweak the peer limits a bit for faster uploading 2007-11-20 17:29:56 +00:00
Charles Kerr 9cec81b524 fix the crash reported by pea_, Gimp, and John_Clay [ref: http://pastebin.ca/784834] 2007-11-19 21:44:38 +00:00
Charles Kerr 3704854654 add more asserts up the call chain to find the source of pea_ and Gimp's bug 2007-11-19 04:51:06 +00:00
Charles Kerr a277382578 more download speed tweaks for situations where T is both uploading and downloading. 2007-11-18 04:24:17 +00:00
Charles Kerr e371009606 this should improve download speeds. test it! 2007-11-18 03:18:26 +00:00
Charles Kerr 9a81cd7637 reintroduce the "SWIFT" algorithm 2007-11-18 01:00:49 +00:00
Charles Kerr 37969406b2 Add "Status" column to tr_peer_stat. 2007-11-17 23:43:33 +00:00
Charles Kerr 54a2bb978b fix timeout error that caused us to drop connections prematurely 2007-11-17 17:49:30 +00:00
Charles Kerr ef3d0df0d9 try to tickle some more information out of John_Clay's bug report 2007-11-17 07:48:51 +00:00
Charles Kerr 77d58126f4 remove yet more dead code 2007-11-17 02:47:47 +00:00
Charles Kerr cc728b0470 progress on the "speed limits kill my transfer rate" bug. 2007-11-16 21:58:11 +00:00
Charles Kerr 0ac302b302 progress on the "speed limits kill my transfer rate" bug. 2007-11-16 20:40:03 +00:00
Charles Kerr 73680b6263 fix tr_peerMsgsAddRequest memory leak reported by tiennou 2007-11-16 15:45:26 +00:00
Charles Kerr 1ebaf597a4 fix trunk memory leak reported by tiennou 2007-11-16 15:33:57 +00:00
Charles Kerr c3dce15a9e if we haven't advertised that we support pex, then even if a peer sends us a pex message, don't send one back. 2007-11-16 04:42:51 +00:00
Charles Kerr 257eaee631 more of the same 2007-11-15 05:47:23 +00:00
Charles Kerr a9e5fff2e6 * fix the `req->length == (uint32_t)( ((block)==((msgs->torrent)->blockCount-1))' bug.
* there seems to be a pattern for peers that were (intentionally?) giving incomplete data to trigger the bug above.  when a peer does this, give them a strike on its three-strikes-and-you're-banned count
2007-11-13 05:36:43 +00:00
Charles Kerr 8516860fec fix a bug in tr_stat's availability numbers, reported by BentMyWookie 2007-11-11 16:33:04 +00:00
Charles Kerr c32f893038 commit tiennou's fast-peers-final patch from ticket 149 2007-11-10 16:06:00 +00:00
Charles Kerr ca03b62a58 * fix a bug that could corrupt peer connections, causing slower speeds and/or fewer connections
* add more assertions to smoke out any remaining BT protocol bugs
2007-11-10 04:56:27 +00:00
Charles Kerr fd430fde90 undoing the r3773-r3774 experiment. 2007-11-09 20:07:52 +00:00
Charles Kerr 67b719c2de on Darwin, use NSCParameterAssert() instead of assert(). 2007-11-09 19:50:40 +00:00
Charles Kerr 99ea26c1c9 * try to get peers to scale up to speed faster.
* remove unnecessary steps when receiving block data from peers.
2007-11-09 01:22:15 +00:00
Charles Kerr 39f9f14751 minor tweaks. 2007-11-08 21:25:17 +00:00
Charles Kerr 71f4efcbad update our #includes now that libevent has cleaned up event.h 2007-11-07 18:26:19 +00:00
Charles Kerr 60aab6c433 remove libtransmission code that duplicates functionality in libevent 2007-11-06 21:14:30 +00:00
Charles Kerr 0f92cb7f30 fix bug reported in the forums by "grabman" 2007-11-05 03:09:27 +00:00
Charles Kerr 3e0e462b10 finish cleaning up the code that was churned during the "corruption" fix. 2007-11-01 13:47:32 +00:00
Charles Kerr a6206b036c "corruption" fix part 2: lots of assertions, and try to complete pieces & ban bad peers sooner 2007-10-31 04:23:51 +00:00
Charles Kerr ab8ed6507d #412 - 0.90 "ignores" speed limits (deanr, berkut, SineOtter) 2007-10-28 15:20:24 +00:00
Charles Kerr 92ac49d9c4 compatability with older C copmilers (ticket #422, patch by fizz) 2007-10-27 21:29:41 +00:00
Charles Kerr b00ee3e568 Ticket #398 (peer-msgs.c:905: failed assertion `msglen == 0' in 0.90) 2007-10-27 15:45:03 +00:00
Charles Kerr 8c0e2434f5 fix OpenBSD build error. 2007-10-25 13:59:46 +00:00