Commit Graph

222 Commits

Author SHA1 Message Date
Arvid Norberg c6c77d8efc fixed so that peers only get one fast-reconnect 2007-10-12 01:12:30 +00:00
Arvid Norberg 64056a667f fixed encrypted support flag bug 2007-10-11 22:02:00 +00:00
Arvid Norberg bbd170562e policy invariant check fix 2007-10-06 21:15:44 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg 2940d253c3 completed fast reconnect fix 2007-10-04 21:26:50 +00:00
Arvid Norberg 4cab49cbdf saves banned peers in resume data 2007-10-03 17:37:15 +00:00
Arvid Norberg 5c3a73ccb9 fixed another policy bug 2007-10-03 00:55:06 +00:00
Arvid Norberg fd180c4294 fixed bug in policy 2007-10-02 20:30:53 +00:00
Arvid Norberg 3dcae188fb policy now has a map of peers instead of a flat list, makes it more efficient to do lookups 2007-10-02 19:11:04 +00:00
Arvid Norberg b48948e231 changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage 2007-09-29 16:14:03 +00:00
Arvid Norberg 1964cc0596 policy fix when allowing multiple connections per IP 2007-09-22 16:24:26 +00:00
Arvid Norberg 338eedf961 added storage assert, fixed policy assert 2007-09-19 19:55:11 +00:00
Arvid Norberg abbe3c774f fixed problem with clashing connections when allowing multiple peers from the same IP 2007-09-19 06:05:14 +00:00
Arvid Norberg 80aee32972 fixed piece picker problem when a downloading piece could not be picked with the right speed category 2007-09-10 08:07:18 +00:00
Arvid Norberg 7cd29ca371 piece picker updates and more tests 2007-09-05 23:32:05 +00:00
Arvid Norberg 24b57d62c8 piece picker fixes and optimizations (requires more tests in unit tests) 2007-09-05 21:21:11 +00:00
Arvid Norberg d2706b3600 fixed #122 2007-09-03 22:57:09 +00:00
Arvid Norberg 6d40519e66 added support for piece picker to pick multiple pieces (previously it could only pick one piece tops). Made the web_peer_connection always try to make 1 MB requests at a time. added tests to the piece_picker unit test 2007-09-03 21:16:24 +00:00
Arvid Norberg 61c269efee added timeout for interested peers that don't request once they're unchoked. Added support for suggest_piece 2007-09-01 07:38:10 +00:00
Arvid Norberg bce55bc149 removed expensive invariant checks 2007-08-27 05:32:47 +00:00
Arvid Norberg e074b0a977 removed too expensive invariant checks 2007-08-21 19:18:06 +00:00
Arvid Norberg 847f96d9c3 made policy::has_connection not throw 2007-08-21 19:04:27 +00:00
Arvid Norberg 23a20a24c1 added more asserts for choke/unchoke states and a peer_info flag to indicate a peer being optimistically unchoked 2007-08-21 17:45:28 +00:00
Arvid Norberg a3d4b1bdd9 fixed build problems on windows 2007-08-21 07:33:06 +00:00
Arvid Norberg 6c50adabfc updated piece_picker fix and added another invariant check to policy 2007-08-21 01:17:42 +00:00
Arvid Norberg 88cd663895 piece_picker fix 2007-08-17 19:28:21 +00:00
Arvid Norberg d00ce3b28b optimized policy and removed #warning 2007-08-16 23:53:14 +00:00
Arvid Norberg 9315851cdf fixed assert in request_a_block. Fixes #125 2007-08-16 19:36:33 +00:00
Arvid Norberg 4ac1ac8a1f removed allocate_resources. switched to a global unchoker and connection distribution 2007-08-16 12:41:46 +00:00
Arvid Norberg b62bb7944f merged fast-extension => trunk. the fast extension branch is now closed 2007-08-14 17:47:48 +00:00
Arvid Norberg 8387240b31 more asserts, piece_picker fixes, debug-iterator fixes 2007-08-03 06:13:26 +00:00
Arvid Norberg f67deba30e fixed #81 2007-07-26 07:04:35 +00:00
Arvid Norberg 9bdf2a9c8d fixed invariant check in policy 2007-07-10 17:25:10 +00:00
Arvid Norberg e395747e35 fixed piece picker bug 2007-07-08 20:43:44 +00:00
Arvid Norberg 82e1160214 introduced a non-rarest-first option to the piece picker that is used to pick the very first pieces in a torrent 2007-07-07 01:26:30 +00:00
Arvid Norberg a3e66a3efe made the piece picker handle multi-request blocks better. fixes problem that might occur at the end of a torrent where the piece picker could take over blocks back and forth 2007-07-06 17:15:35 +00:00
Arvid Norberg 3c69e3b2cb updated asserts 2007-07-04 16:15:46 +00:00
Arvid Norberg b20270d243 added more asserts related to recent downloading_piece optimization and fixed a translation problem to the public interface 2007-07-04 15:46:10 +00:00
Arvid Norberg 3bdf01778a chamged peer representation from tcp::endpoint to policy::peer pointer in piece_picker's downloading piece. Saves memory, removes the need for lookup and improves the hash check fail/pass handling for closed connections 2007-07-04 02:16:49 +00:00
Arvid Norberg 3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg 6447a074eb fixes to allow-multiple-connections-per-ip and a unit test that run a swarm of 3 local peers 2007-06-08 23:02:31 +00:00
Arvid Norberg a7ad108e8a made the unchoke interval configurable 2007-06-07 22:37:58 +00:00
Arvid Norberg 273f8bd921 merged back encryption branch to trunk 2007-06-06 00:41:20 +00:00
Arvid Norberg d0412a2244 added port filter for outgoing connections 2007-06-01 01:05:57 +00:00
Arvid Norberg bb71832f5f exposed some more peer info 2007-05-25 19:42:10 +00:00
Arvid Norberg 685f79b82f option to ignore bandwidth limits for local peers. fixed some asserts when allowing multiple connections per IP 2007-05-25 17:06:30 +00:00
Arvid Norberg 13ca78e92b #47. introduced parole mode for peers that fails the hash check. 2007-05-16 04:12:13 +00:00
Arvid Norberg f5c449837f introduced an extra invariant check in policy to make sure peers are unique 2007-05-12 20:25:44 +00:00
Arvid Norberg b39f6bccc0 policy cleanup 2007-05-07 16:24:08 +00:00
Arvid Norberg 508dfd722a cleaned up policy a bit and the country code list 2007-05-05 22:55:34 +00:00