Arvid Norberg
|
e43340c961
|
made it possible to build without RTTI
|
2009-11-02 20:43:38 +00:00 |
Arvid Norberg
|
b97dcc8c58
|
fixed race conditon when receiving metadata from swarm
|
2009-10-31 18:39:46 +00:00 |
Arvid Norberg
|
6c71a3797f
|
USE_I2P fix
|
2009-10-19 02:53:36 +00:00 |
Arvid Norberg
|
cdc30f1dd1
|
fixed bug where pieces may have been requested before the metadata was received
|
2009-10-05 00:10:35 +00:00 |
Arvid Norberg
|
3e9725b5d7
|
made peer_blocked_alert derive from torrent_alert
|
2009-09-07 01:47:30 +00:00 |
Arvid Norberg
|
dac25997f9
|
trunk build fix when GeoIP is enabled
|
2009-08-21 21:28:28 +00:00 |
Arvid Norberg
|
45fd696bc6
|
added I2P support
|
2009-08-20 03:19:12 +00:00 |
Arvid Norberg
|
78a6df0b2a
|
connect candidate fix
|
2009-08-01 22:48:43 +00:00 |
Arvid Norberg
|
dfe2af0311
|
added asserts
|
2009-08-01 21:16:11 +00:00 |
Arvid Norberg
|
8f1f0334c3
|
added some comments
|
2009-07-27 23:34:50 +00:00 |
Arvid Norberg
|
137d2d63f5
|
cleaned up policy. Moved logic from policy to torrent
|
2009-07-23 04:38:52 +00:00 |
Arvid Norberg
|
356db54dce
|
connect candidate counter fix
|
2009-06-26 05:58:24 +00:00 |
Arvid Norberg
|
f09774607f
|
added upload mode
|
2009-06-18 22:32:55 +00:00 |
Arvid Norberg
|
6b048dc85e
|
fixed bug in connect candidate counter
|
2009-06-18 16:16:41 +00:00 |
Arvid Norberg
|
2da772210c
|
fix to make torrent_status::list_peers more accurate
|
2009-06-13 04:14:41 +00:00 |
Arvid Norberg
|
07bcb3545a
|
converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes
|
2009-06-12 16:40:38 +00:00 |
Arvid Norberg
|
d263526246
|
make incoming connections considered connectable when they tell us their listen port
|
2009-06-09 16:33:10 +00:00 |
Arvid Norberg
|
efb6ec5824
|
fixed expensive-invariant-checks build
|
2009-05-25 17:23:03 +00:00 |
Daniel Wallin
|
757b0437e9
|
Don't construct a temporary peer just for searching. Clean up some duplicate code.
|
2009-05-25 10:15:35 +00:00 |
Daniel Wallin
|
68629eb6bc
|
Split peer list into IPv4 and IPv6 peers. Saves 12 bytes per IPv4 peer.
|
2009-05-24 21:49:19 +00:00 |
Arvid Norberg
|
536d1e2cf6
|
removed assert in policy
|
2009-05-16 02:38:53 +00:00 |
Arvid Norberg
|
5bce212126
|
fixed incoming peer source flag and exposed it in client_test
|
2009-05-15 23:22:11 +00:00 |
Arvid Norberg
|
a51dfa50f5
|
renamed peer_from_tracker to add_peer
|
2009-05-15 22:07:19 +00:00 |
Arvid Norberg
|
b7c5d2f12d
|
add a separate setting for max peer list size for paused torrents
|
2009-05-13 01:34:10 +00:00 |
Arvid Norberg
|
46c286eea3
|
assert fixes
|
2009-05-12 18:24:16 +00:00 |
Arvid Norberg
|
136f101449
|
when reaching peer list size limit, rank peers to be removed. Fix for updating IP filter
|
2009-05-11 20:23:47 +00:00 |
Arvid Norberg
|
1eb2799a03
|
added more allocation logging for statistics builds. Identified and fixed some memory waste
|
2009-05-07 20:30:20 +00:00 |
Arvid Norberg
|
a961e253ef
|
fix logging build
|
2009-05-07 16:30:14 +00:00 |
Arvid Norberg
|
c8176cca55
|
optimized peer storage in resume data an in memory. Should use far less memory than previously for the peer list. Introduced peer source affinity, to avoid problem with a peer list that's diluted with stale peers
|
2009-05-06 22:36:24 +00:00 |
Arvid Norberg
|
ea91a6e077
|
fixed inverted peer connect rank. Used to connect to the least likely to work peer, instead of the most likely
|
2009-05-06 22:31:17 +00:00 |
Arvid Norberg
|
ff3db926fb
|
allocates 10 disk buffers at a time instead of 32. Fixed bug where connection candidates would be too high
|
2009-05-06 07:06:26 +00:00 |
Arvid Norberg
|
7563ba87b5
|
added comments to #endifs
|
2009-05-03 06:57:58 +00:00 |
Arvid Norberg
|
c71100950b
|
fix to recalculate_connect_candidates
|
2009-05-03 06:57:04 +00:00 |
Arvid Norberg
|
7439ca3277
|
add an invariant check for num_connect_candidate in policy
|
2009-05-03 03:41:33 +00:00 |
Arvid Norberg
|
3cf34e3a91
|
greatly optimised memory usage for peer list
|
2009-04-30 05:49:46 +00:00 |
Arvid Norberg
|
aba5b2e9d0
|
dropped some iostream dependencies
|
2009-04-04 09:52:25 +00:00 |
Arvid Norberg
|
1a6d2f86b9
|
add compile time option to disable IPv6 support
|
2009-03-31 07:45:54 +00:00 |
Arvid Norberg
|
31054ef069
|
first implementation of set_piece_deadline
|
2009-03-17 09:34:44 +00:00 |
Arvid Norberg
|
0de21dc815
|
fixed bug related to ignoring upload slots and made the piece rejection code more robust to handle similar bugs better
|
2009-03-12 17:06:41 +00:00 |
Arvid Norberg
|
2623037482
|
local peers are excempt from unchoke slots. #469
|
2009-01-28 06:14:21 +00:00 |
Arvid Norberg
|
952ed687cd
|
made session stats config build
|
2008-12-26 07:00:21 +00:00 |
Arvid Norberg
|
09b3a865ef
|
fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define
|
2008-11-29 21:33:21 +00:00 |
Arvid Norberg
|
3412c0f709
|
added option to set peers in a state where it doesn't download
|
2008-11-06 08:34:56 +00:00 |
Arvid Norberg
|
392dbb71da
|
more fixes to avoid unwanted exceptions
|
2008-10-23 04:10:23 +00:00 |
Arvid Norberg
|
8995edead0
|
policy iterator fix
|
2008-10-17 07:32:46 +00:00 |
Arvid Norberg
|
ad4d80cc6b
|
removed commented out code
|
2008-10-15 02:21:41 +00:00 |
Arvid Norberg
|
00415608f6
|
added assert in policy
|
2008-09-25 18:35:28 +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
|
92ed7fb364
|
fixed metadata extension issues
|
2008-08-29 17:21:56 +00:00 |
Arvid Norberg
|
72b99059e7
|
optimized policy::peer
|
2008-07-14 11:15:35 +00:00 |
Arvid Norberg
|
c5af2c2eaf
|
moved tracker announces into a timer instead of polling every second. Added state to properly send complete, started and stopped events
|
2008-07-12 08:25:19 +00:00 |
Arvid Norberg
|
63d4e0d4a3
|
invariant check fix
|
2008-07-08 21:33:36 +00:00 |
Arvid Norberg
|
f7042ca84a
|
improved piece timeout and peer snubbing logic
|
2008-07-07 12:04:06 +00:00 |
Arvid Norberg
|
e576babbb8
|
changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level.
|
2008-07-06 12:22:56 +00:00 |
cg25
|
ff3e80c42f
|
Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
trunk.
|
2008-06-25 14:15:21 +00:00 |
Arvid Norberg
|
6db1b54304
|
simplified policy and optimized case when a piece fails hash check
|
2008-06-22 20:28:03 +00:00 |
Arvid Norberg
|
18809681be
|
fix bug in self connect detection
|
2008-06-18 13:31:41 +00:00 |
Arvid Norberg
|
9a8fc4f713
|
self connection fixes
|
2008-06-16 13:54:14 +00:00 |
Arvid Norberg
|
41f241b476
|
min reconnect time fix
|
2008-06-16 07:46:40 +00:00 |
Arvid Norberg
|
af477fa266
|
fixed connect candidate assert
|
2008-06-13 04:50:02 +00:00 |
Arvid Norberg
|
76ee7b6297
|
fixed connect candidate counter
|
2008-06-07 14:22:24 +00:00 |
Arvid Norberg
|
9f5fa96cad
|
fixed bug related to m_have_piece optimization. Renamed num_pieces() to num_have() to avoid confusion
|
2008-06-07 14:03:21 +00:00 |
Arvid Norberg
|
e0987022cc
|
fixed typo
|
2008-05-30 07:58:49 +00:00 |
Arvid Norberg
|
fd98434c97
|
peer list optimization and introduced hard limit on peer list size
|
2008-05-28 18:25:48 +00:00 |
Arvid Norberg
|
68c31e48dc
|
replaced vector<bool> with a custom bitfield type
|
2008-05-28 02:35:02 +00:00 |
Arvid Norberg
|
f2ac4db1af
|
changed the optimistic disconnect logic to be more efficient and configurable
|
2008-05-12 05:17:11 +00:00 |
Arvid Norberg
|
a555fff07b
|
seed count fix in policy
|
2008-05-07 07:35:36 +00:00 |
Arvid Norberg
|
c7e6c04705
|
switched over to asio from boost-1.35
|
2008-05-03 16:05:42 +00:00 |
Arvid Norberg
|
00b935150a
|
fix for debug iterators
|
2008-04-24 17:09:26 +00:00 |
Arvid Norberg
|
854affdd92
|
compare peer updates
|
2008-04-24 16:34:43 +00:00 |
Arvid Norberg
|
33ed6f4720
|
fixed typo
|
2008-04-24 16:12:24 +00:00 |
Arvid Norberg
|
228e225489
|
scans at most 300 peers when finding a connect candidate. Supposedly fixes cpu spikes on large swarms
|
2008-04-24 07:49:23 +00:00 |
Arvid Norberg
|
b73112682c
|
client test ui updates
|
2008-04-24 04:17:54 +00:00 |
Arvid Norberg
|
23732bafce
|
connect candidate counter fix
|
2008-04-20 00:19:31 +00:00 |
Arvid Norberg
|
04a9dd77b5
|
assert fix
|
2008-04-07 08:15:31 +00:00 |
Arvid Norberg
|
507b812ae8
|
policy invariant check update
|
2008-04-07 03:23:54 +00:00 |
Arvid Norberg
|
2fe729c9f5
|
removed dependencies on exceptions from policy
|
2008-04-07 01:29:21 +00:00 |
Arvid Norberg
|
35fd9aec61
|
msvc build fixes and warning fixes
|
2008-04-05 21:18:27 +00:00 |
Arvid Norberg
|
57d75e120a
|
initial support for GeoIP (only AS mappings for now)
|
2008-04-05 04:53:22 +00:00 |
Arvid Norberg
|
4161be867e
|
removed dht ping from peer_from_tracker. in trunk: implemented a rate limited DHT ping (once a second per torrent) and space optimized the peer structure
|
2008-04-01 17:38:19 +00:00 |
Arvid Norberg
|
45a7329d5c
|
added alert for when the client's external IP is received
|
2008-03-29 22:45:55 +00:00 |
Arvid Norberg
|
2014e312b1
|
exposed connection_candidates in torrent_status and made a small optimization to not attempt to connect peers on swarms that don't have any connect candidates
|
2008-03-29 18:47:24 +00:00 |
Arvid Norberg
|
6728314406
|
cleaned up a rule in disconnect_one_peer
|
2008-03-04 03:52:08 +00:00 |
Arvid Norberg
|
9d3b60edb7
|
added support to bind outgoing connections to specific ports (might be useful to do traffic shaping)
|
2008-02-28 07:34:07 +00:00 |
Arvid Norberg
|
cf5c9344ab
|
made peer connection order depend on ones external IP or be random (if we don't know our external IP). Should fix #281
|
2008-02-28 03:09:34 +00:00 |
Arvid Norberg
|
601b7571f5
|
added asserts to piece picker around num_peers()
|
2008-02-11 06:52:40 +00:00 |
Arvid Norberg
|
8cf0510144
|
added disk cache for write operations
|
2008-02-08 10:22:05 +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
|
8a47c849ce
|
fix in the smart_ban to not use invalid pointers
|
2007-12-27 20:57:58 +00:00 |
Arvid Norberg
|
4b7eaf8cbe
|
fixed connect candidate logic, to prefer peers with less failures
|
2007-12-24 08:17:32 +00:00 |
Arvid Norberg
|
91ecbb4b23
|
prioritizes local peers over non-local ones when finding connect candidates
|
2007-12-22 18:20:23 +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
|
1699fa4652
|
fast reconnect fixes
|
2007-10-15 05:03:29 +00:00 |
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 |
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
|
56a4b8412a
|
restored the faster connection behavior
|
2007-05-03 01:49:14 +00:00 |
Arvid Norberg
|
77c141fd6d
|
fix to previous connection queue change
|
2007-05-02 19:50:07 +00:00 |
Arvid Norberg
|
04e41cf702
|
improved connection queue handling slightly. Will require further improvements
|
2007-05-02 17:38:37 +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 |
Arvid Norberg
|
00948e9fc4
|
first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22
|
2007-04-25 18:26:35 +00:00 |