Commit Graph

441 Commits

Author SHA1 Message Date
Arvid Norberg 62e365225b made some moer invariant checks count as expensive 2008-10-10 07:08:46 +00:00
Arvid Norberg b417a03877 removed unnecessary invariant check 2008-10-10 05:38:19 +00:00
Arvid Norberg 8499fd2fe2 moved some invariant checks into 'full-invariant-checks' builds 2008-10-10 05:25:55 +00:00
Arvid Norberg d06fea3d6c fix to handle 0-size piece response without asserting 2008-10-06 03:23:47 +00:00
Arvid Norberg ccd75006d4 fixed failing invariant check caused by a life-time issue in debug mode 2008-10-05 23:36:50 +00:00
Arvid Norberg 7733f74d7a fixed invariant check in peer_connection 2008-10-05 22:09:33 +00:00
Arvid Norberg 47c476dc0a include TCP handshake overhead 2008-09-26 06:10:21 +00:00
Andrew Resch 4189e0b697 add peer_info::progress 2008-09-25 20:39:06 +00:00
Arvid Norberg a3751cfcbe fixed bug in peer_connection::incoming_piece() in case blocks were skipped. Fixed warnings. 2008-09-25 20:12:53 +00:00
Arvid Norberg bb674134e3 fixed bind_port for outgoing peer connections 2008-09-25 07:40:55 +00:00
Arvid Norberg 13b343c1af added assertions that the stats is updated properly when receiving and sending bytes on peer_connections 2008-09-21 17:12:26 +00:00
Arvid Norberg f3d542fb2c fixed inconsistent upload_only and seed in some cases when running a metadata-less torrent 2008-09-19 23:02:45 +00:00
Arvid Norberg eb89269b6a update_interest fix for torrents without metadata 2008-09-19 07:14:24 +00:00
Arvid Norberg e85cb90652 fixed assert in peer_connection 2008-09-19 02:37:05 +00:00
Arvid Norberg e7df553fdd fixed race condition when calling a function that re-evaluates the interested flags on peers (such as prioritize files) right after the metadata is received, but before the connections are initialized 2008-09-18 20:17:49 +00:00
Arvid Norberg a61c1ee01d more disconnect handling for upload-only 2008-09-07 10:00:58 +00:00
Arvid Norberg 41808f8742 big change to improve piece picker. Better end-game mode. More options on which pieces to pick. 2008-09-06 21:04:57 +00:00
Arvid Norberg c7c0974d3f fixed bugs in verbose logging 2008-09-04 14:39:02 +00:00
Arvid Norberg d179280da2 fixed off-by-one error when receiving a piece which skipped a bunch of requests 2008-09-01 17:41:13 +00:00
Arvid Norberg 92ed7fb364 fixed metadata extension issues 2008-08-29 17:21:56 +00:00
Arvid Norberg 238dcea91d fixed missing 'set_error' when write failed 2008-08-26 23:10:42 +00:00
Arvid Norberg 7cdc7b2912 fixed typo 2008-08-25 21:10:13 +00:00
Arvid Norberg f407c6d24e fixed bug in piece time-out code. Fixes #388 2008-08-25 15:25:46 +00:00
Arvid Norberg 71db0f32db removed incorrect assert. Fixes #309 2008-08-21 11:54:38 +00:00
Arvid Norberg 37389e4fe4 added test to measure peak download rate and introduced performance warning alert when disk buffer limit and request limit are reached 2008-08-19 15:04:14 +00:00
Arvid Norberg 89907cdae8 fix no-metadata case to not send any other messages before the bitfield (which is sent once we have the metadata) 2008-08-16 22:07:15 +00:00
Arvid Norberg 68b61e4df6 removed redundant condition 2008-08-12 09:27:42 +00:00
Arvid Norberg c725d44ced fixed serious issue with 'disconnect redundant peers' where seeds would be disconnected while downloading 2008-08-12 08:18:05 +00:00
Arvid Norberg a8562a9f19 small optimization of expensive invariant check 2008-07-30 06:42:08 +00:00
Arvid Norberg 7607034ab6 exposed upload_only in peer_info 2008-07-19 07:57:43 +00:00
Arvid Norberg 4597de74df removed incorrect assert 2008-07-19 07:35:24 +00:00
Arvid Norberg 429a118dd2 keep track of interest more tightly. better support for upload_only 2008-07-18 10:03:42 +00:00
Arvid Norberg 5bf38323c1 removed invariant check that can get triggered in peer_connection::snub_peer 2008-07-13 08:06:24 +00:00
Arvid Norberg 1ed583011c made the invariant checks cheaper and more useful. The full invariant checks are still available as an option 2008-07-12 17:51:59 +00:00
Arvid Norberg 535aaf8182 fix to previous parole fix 2008-07-11 09:25:03 +00:00
Arvid Norberg 589e098002 fixed parole mode with timeouts and made it optional 2008-07-11 09:23:22 +00:00
Arvid Norberg 96ca475652 added redundant and failed byte counters to session 2008-07-11 07:30:04 +00:00
Arvid Norberg 680dab5a67 make 'snubbed' more sticky by only giving one request_timeout back when a new block is being received 2008-07-10 19:31:22 +00:00
Arvid Norberg 1bdb6afebd fixes to previous connection timeout check-in 2008-07-10 10:58:30 +00:00
Arvid Norberg d51bdc0ec0 rare request optimization 2008-07-09 18:01:00 +00:00
Arvid Norberg 22da6b5901 fixed bug where FAST pieces were cancelled when choking 2008-07-09 17:45:37 +00:00
Arvid Norberg 74fd7eea71 fixed alert posting typo 2008-07-09 17:40:03 +00:00
Arvid Norberg fc3bb01587 ignore zero size piece messages 2008-07-09 17:37:38 +00:00
Arvid Norberg 2d099b090f peer snubbing fix 2008-07-09 11:11:06 +00:00
Arvid Norberg 63d4e0d4a3 invariant check fix 2008-07-08 21:33:36 +00:00
Arvid Norberg 55a944c014 added a unwanted_block_alert 2008-07-08 18:41:04 +00:00
Arvid Norberg 5c749bcb3c added base class for peer_alerts and turned more alerts into peer_alerts with more information about the peer that generated it 2008-07-08 09:30:10 +00:00
Arvid Norberg 8d4bea9f95 fixed invariant check that could be triggered since peer snubbing was introduced 2008-07-08 08:13:45 +00:00
Arvid Norberg a20f1a8fa0 keeps track of the number of requests waiting in the send buffer and adjusts bandwidht priority accordingly in the bandwidth limiter 2008-07-08 00:03:08 +00:00
Arvid Norberg f7042ca84a improved piece timeout and peer snubbing logic 2008-07-07 12:04:06 +00:00