Arvid Norberg
|
a53473a65d
|
added new logging mode to log peer errors
|
2008-02-07 07:09:52 +00:00 |
Arvid Norberg
|
5d4d08b7ce
|
fix problem introduced with new piece picker
|
2008-02-05 05:57:32 +00:00 |
Arvid Norberg
|
1c82ef36d8
|
improved support for out-of-memory conditions
|
2008-02-05 05:51:05 +00:00 |
Arvid Norberg
|
c798ab30e1
|
rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings
|
2008-01-31 17:52:29 +00:00 |
Arvid Norberg
|
8b455be1d9
|
better exception handling and more invariant checks
|
2008-01-19 19:00:54 +00:00 |
Arvid Norberg
|
127d3e6ad5
|
bandwidth limiter fixes. proper priority that cannot starve connections
|
2008-01-17 17:40:46 +00:00 |
Arvid Norberg
|
c69fa07e2d
|
error handling fixes
|
2008-01-16 21:07:04 +00:00 |
Arvid Norberg
|
b19bf337bf
|
generalized peer read/write state
|
2008-01-13 23:46:43 +00:00 |
Arvid Norberg
|
f48ded8a54
|
fast extension fix
|
2008-01-13 09:33:00 +00:00 |
Arvid Norberg
|
616a48b591
|
fix to count loopback connections as local peers
|
2008-01-11 05:40:19 +00:00 |
Arvid Norberg
|
471d81394d
|
added invariant check
|
2008-01-10 22:44:32 +00:00 |
Arvid Norberg
|
3a727e99ff
|
expose more info through peer_info
|
2008-01-10 22:13:23 +00:00 |
Arvid Norberg
|
4420473b88
|
made send buffer watermark configurable
|
2008-01-08 01:16:30 +00:00 |
Arvid Norberg
|
1d6e0f5bf6
|
bandwidth request block size optimization
|
2008-01-07 04:47:20 +00:00 |
Arvid Norberg
|
0dfb129b57
|
another failcount update fix
|
2008-01-07 04:07:31 +00:00 |
Arvid Norberg
|
cf4036310b
|
changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore
|
2008-01-07 01:10:46 +00:00 |
Arvid Norberg
|
4271eda751
|
correctly increase the failcounter when appropriate
|
2008-01-07 00:33:20 +00:00 |
Arvid Norberg
|
fcd2408f11
|
fast extension fix, added some logging for fast extension messages, improved test to catch the problem
|
2008-01-02 03:18:29 +00:00 |
Arvid Norberg
|
9d2c0e370e
|
fixed broken assert
|
2007-12-31 10:11:10 +00:00 |
Arvid Norberg
|
ddf16fb3bb
|
separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225
|
2007-12-31 09:41:50 +00:00 |
Arvid Norberg
|
cfe5c8962e
|
more asserts around send buffers and fixes potential race condition
|
2007-12-27 21:43:11 +00:00 |
Arvid Norberg
|
ba172954e6
|
accept have messages without having metadata and without having received a bitfield
|
2007-12-20 23:58:58 +00:00 |
Arvid Norberg
|
3b4cccf1dd
|
fixed broken assert
|
2007-12-20 23:53:03 +00:00 |
Arvid Norberg
|
d1311e2bb8
|
improved session logging
|
2007-12-19 21:36:54 +00:00 |
Arvid Norberg
|
9aa2ddec80
|
added a plugin 'smart_ban' that can ban peers sending bad data with higher accuracy
|
2007-12-18 06:04:54 +00:00 |
Arvid Norberg
|
456f8f8677
|
fix to bound check piece index before use in incoming_allowed_fast
|
2007-12-18 04:40:19 +00:00 |
Arvid Norberg
|
ac28fa7b62
|
some more asserts related to bandwidth manager
|
2007-12-14 18:02:06 +00:00 |
Arvid Norberg
|
1a280e31fa
|
cleanup. changed the connection map into a set of peer_connections. moved the policy object into the torrent (as opposed to being a pointer). Fixes issues with multiple peers on the same IP. Reduces some lookups.
|
2007-10-31 09:48:20 +00:00 |
Arvid Norberg
|
f054ae7c2d
|
made the handshake timeout configurable and defaults to 10 seconds
|
2007-10-23 00:19:28 +00:00 |
Arvid Norberg
|
fcc238e801
|
lowered piece timeout and sends cancels for pieces when a time out occurs
|
2007-10-22 20:58:42 +00:00 |
Arvid Norberg
|
d3bce762c5
|
added timeout logging in verbose logging mode
|
2007-10-22 04:56:09 +00:00 |
Arvid Norberg
|
a00f27b7ec
|
some extra peer logging + fix for previous invariant check
|
2007-10-18 04:18:09 +00:00 |
Arvid Norberg
|
b032c26bf0
|
adds invariant check to make sure pieces that are complete are also checked. adds a debug function in the disk_io_thread. Fixes a problem with a failing disk write that would not clear the block for re-download. Adds some extra session logging
|
2007-10-18 00:32:16 +00:00 |
Arvid Norberg
|
1699fa4652
|
fast reconnect fixes
|
2007-10-15 05:03:29 +00:00 |
Arvid Norberg
|
28113c9c42
|
parole mode improvement. Doesn't clear out the request queue when choked by a peer on parole anymore
|
2007-10-10 02:27:55 +00:00 |
Arvid Norberg
|
f5f658f8fd
|
fast extension fixes
|
2007-10-05 22:45:24 +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
|
d29fbdc453
|
added tests for fast extension features + fixes
|
2007-10-04 09:32:09 +00:00 |
Arvid Norberg
|
51f12e774e
|
moved block_downloading_alert and block_finished_alert to debug level
|
2007-10-03 22:53:52 +00:00 |
Arvid Norberg
|
c9d245e9f1
|
handles case where a request in the allow fast set is rejected
|
2007-10-03 16:57:20 +00:00 |
Arvid Norberg
|
1cbe23667b
|
added check for valid allowed-fast messages
|
2007-10-01 01:12:00 +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
|
3b6aee6d86
|
switched out std::vector to use libtorrent::buffer as an optimization
|
2007-09-23 00:51:45 +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
|
33add5bb91
|
added a shorter timeout while waiting for a hanshake response from peers
|
2007-09-17 02:29:33 +00:00 |
Arvid Norberg
|
3a11c3bfad
|
broadcast socket and piece_picker fix
|
2007-09-15 20:20:07 +00:00 |
Arvid Norberg
|
bdd14cc155
|
added reject and suggest hooks to peer plugins
|
2007-09-14 03:38:38 +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
|
140fdae5b1
|
block_downloading_alert change
|
2007-09-06 18:33:15 +00:00 |
Arvid Norberg
|
d2706b3600
|
fixed #122
|
2007-09-03 22:57:09 +00:00 |
Arvid Norberg
|
c6b8b22679
|
replaced int64_t with size_type for portability
|
2007-09-03 21:20:28 +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
|
fd42f3232b
|
upnp more logging and error recovery
|
2007-09-01 04:08:39 +00:00 |
Arvid Norberg
|
b6ee4fddbf
|
fixed uninitialized connection ticket
|
2007-08-25 14:52:48 +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
|
e865852c74
|
fixes #136
|
2007-08-21 08:16:41 +00:00 |
Arvid Norberg
|
1a34478305
|
another (probably the final) attempt to fix to #133
|
2007-08-21 06:57:12 +00:00 |
Arvid Norberg
|
a91b4e9ec3
|
another attempt to fix to #133
|
2007-08-21 06:38:27 +00:00 |
Arvid Norberg
|
b8e48c061e
|
attempt to fix build errors on windows. #134
|
2007-08-21 04:46:17 +00:00 |
Arvid Norberg
|
c946afcfab
|
fixed #133
|
2007-08-21 04:11:00 +00:00 |
Arvid Norberg
|
a3d32dad4c
|
fixed bugs in unchoke change check-in
|
2007-08-16 22:13:35 +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
|
f7b3433ff8
|
added check to disallow requests > 16kB (since the buffer pool now requires that limit)
|
2007-08-03 16:12:32 +00:00 |
Arvid Norberg
|
be1faccd1d
|
peer_connection fixes for earlier pending disk buffer size limit
|
2007-08-03 08:19:10 +00:00 |
Arvid Norberg
|
f2a8fe6df7
|
fixes to prevent incorrect asserts
|
2007-08-01 15:48:55 +00:00 |
Arvid Norberg
|
1973af7779
|
added alert messages for blocks finishing, pieces finishing and blocks being requested. patch by micah
|
2007-08-01 06:14:16 +00:00 |
Arvid Norberg
|
54aa76f940
|
exposed queued disk bytes in peer_info
|
2007-08-01 06:11:11 +00:00 |
Arvid Norberg
|
786d4e5f25
|
added a limit on how many bytes each connection can have pending in the disk write queue
|
2007-08-01 05:22:34 +00:00 |
Arvid Norberg
|
c536ac1990
|
peer_connections stats fix. test_sleep fix. improved test_swarm and test Jamfile
|
2007-07-06 20:17:36 +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
|
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
|
e714e1aeba
|
improved bandwidth limiter and added a unit test for it
|
2007-07-02 23:48:06 +00:00 |
Arvid Norberg
|
0d7a208865
|
added more output to transfer tests and changed the data to be more easily debuggable + some code cleanup
|
2007-06-20 18:41:53 +00:00 |
Arvid Norberg
|
f05b06d4e5
|
added required operator on time_duration
|
2007-06-14 23:15:30 +00:00 |
Arvid Norberg
|
46bf2970fb
|
fixes to remote peer download rate etimation
|
2007-06-14 21:47:00 +00:00 |
Arvid Norberg
|
3b8670626a
|
merged back async_io branch into trunk
|
2007-06-10 20:46:09 +00:00 |
Arvid Norberg
|
2030420f9a
|
fix for previous peer download rate check-in
|
2007-06-07 00:53:48 +00:00 |
Arvid Norberg
|
a3a2217276
|
an approximate peer download rate is now in peer_info
|
2007-06-07 00:05:18 +00:00 |
Arvid Norberg
|
273f8bd921
|
merged back encryption branch to trunk
|
2007-06-06 00:41:20 +00:00 |
Arvid Norberg
|
7e540a8d53
|
made inactivity time-out configurable
|
2007-05-31 19:57:15 +00:00 |
Arvid Norberg
|
9fe77101ed
|
added support for lazy bitfields
|
2007-05-26 22:27:40 +00:00 |
Arvid Norberg
|
8679ee5916
|
have optimization is now optional, but on by default
|
2007-05-25 21:19:14 +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
|
cbd67ed729
|
added support for authentication in the url_parser and added a test for it
|
2007-05-22 20:44:18 +00:00 |
Arvid Norberg
|
3bfaaf1129
|
fixed a checked iterator assert
|
2007-05-16 18:21:08 +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
|
421d4ee81d
|
fixed recent send buffer optimization to work with metadata extension
|
2007-05-14 06:06:28 +00:00 |
Arvid Norberg
|
6faa11f7ab
|
optimized web_peer_connection to use less memory and replaced std::copy with std::memmove in peer_connection
|
2007-05-11 18:40:22 +00:00 |
Arvid Norberg
|
23ae2e12c8
|
fixed warning in peer_connection
|
2007-05-10 06:27:52 +00:00 |
Arvid Norberg
|
57439bcec8
|
send buffer heap optimization
|
2007-05-10 06:20:29 +00:00 |
Arvid Norberg
|
f39185bb21
|
optimized the read callback to loop and exhaust the read buffer from the socket instead of making another async read call. #43
|
2007-05-10 01:50:11 +00:00 |
Arvid Norberg
|
4956639171
|
piece picker optimization
|
2007-05-08 11:13:13 +00:00 |
Arvid Norberg
|
49bd69cad4
|
introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds
|
2007-05-05 00:29:33 +00:00 |
Arvid Norberg
|
54805ca60b
|
added option to disable country resolving
|
2007-05-02 19:47:38 +00:00 |
Arvid Norberg
|
9f1a11aa50
|
regenerated documentation. fixed a few warnings. fixed a bug in recent check in in piece picker
|
2007-04-27 16:26:30 +00:00 |
Arvid Norberg
|
ee1681e2cb
|
added peer/piece categories to the piece picker. fixes #18
|
2007-04-27 00:27:37 +00:00 |