Arvid Norberg
|
8dd244581d
|
header optimizations
|
2009-11-26 05:45:43 +00:00 |
Arvid Norberg
|
2280454a99
|
support upload-only extension message
|
2009-11-24 18:49:59 +00:00 |
Arvid Norberg
|
1f5a722b01
|
improved sun studio support (it seems to lack a lot of stl)
|
2009-08-30 07:38:52 +00:00 |
Arvid Norberg
|
5e2254df97
|
fix bug where a choke when the last block is outstanding would cause the outstanding_bytes counter to be incorrect
|
2009-08-05 18:20:33 +00:00 |
Arvid Norberg
|
78a6df0b2a
|
connect candidate fix
|
2009-08-01 22:48:43 +00:00 |
Arvid Norberg
|
ad1e575a6e
|
trim tracker urls and renamed isprint to is_print
|
2009-06-23 01:53:47 +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
|
6b2148cb39
|
removed redundant code
|
2009-05-23 21:42:29 +00:00 |
Arvid Norberg
|
46c286eea3
|
assert fixes
|
2009-05-12 18:24:16 +00:00 |
Arvid Norberg
|
bc20af9375
|
ban self-connections, in order to not try them again
|
2009-05-07 05:10:19 +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
|
641abc6c4a
|
slight memory optimization and some header cleanup
|
2009-05-03 20:21:24 +00:00 |
Arvid Norberg
|
3cf34e3a91
|
greatly optimised memory usage for peer list
|
2009-04-30 05:49:46 +00:00 |
Arvid Norberg
|
7109b86566
|
greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations
|
2009-04-26 00:21:59 +00:00 |
Arvid Norberg
|
b324d4a190
|
fixed potential buffer overrun in verbose logging builds
|
2009-04-25 18:39:44 +00:00 |
Arvid Norberg
|
73f4b06100
|
fixed merge error
|
2009-04-22 17:56:19 +00:00 |
Arvid Norberg
|
3c51ceb7c5
|
fixed bug when receiving keepalive message
|
2009-04-21 19:27:52 +00:00 |
Arvid Norberg
|
dd67612e9b
|
fixed assert when receiving invalid piece
|
2009-04-17 17:56:58 +00:00 |
Arvid Norberg
|
1c01c9ce98
|
stats fix
|
2009-04-11 02:19:57 +00:00 |
Arvid Norberg
|
2b671bc820
|
more iostream fixes
|
2009-04-04 21:44:04 +00:00 |
Arvid Norberg
|
aba5b2e9d0
|
dropped some iostream dependencies
|
2009-04-04 09:52:25 +00:00 |
Arvid Norberg
|
7e01b9d990
|
fix on_piece to check if header is received before parsing it
|
2009-03-19 16:50:37 +00:00 |
Arvid Norberg
|
31054ef069
|
first implementation of set_piece_deadline
|
2009-03-17 09:34:44 +00:00 |
Arvid Norberg
|
84a513bffb
|
initial support for merkle hash tree torrents
|
2009-03-13 06:09:39 +00:00 |
Arvid Norberg
|
80a51ad89d
|
improved error handling of out of memory conditions
|
2009-02-22 20:52:55 +00:00 |
Arvid Norberg
|
2a9605f9db
|
the reserved bits are only 8 bytes
|
2009-02-13 07:17:20 +00:00 |
Arvid Norberg
|
373c19dadd
|
build fix for no encryption build
|
2009-02-12 03:57:53 +00:00 |
Arvid Norberg
|
7607286f50
|
fixing bug where the trailing bits in bitfields were not set to 0. Fixes #482
|
2009-02-06 08:51:25 +00:00 |
Arvid Norberg
|
bcd93da465
|
fixed encryption asserts
|
2009-02-04 05:51:00 +00:00 |
Arvid Norberg
|
b245d45570
|
fixed encryption bug
|
2009-01-28 04:20:05 +00:00 |
Arvid Norberg
|
37c48117b0
|
fix potential bug (and warning on sunpro) in the send_buffer signature
|
2009-01-27 06:57:55 +00:00 |
Arvid Norberg
|
952ed687cd
|
made session stats config build
|
2008-12-26 07:00:21 +00:00 |
Arvid Norberg
|
b41cdd6469
|
initial super seeding support
|
2008-12-08 06:36:22 +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
|
51393dabdf
|
fixed typo
|
2008-11-17 19:19:45 +00:00 |
Arvid Norberg
|
370ee02ef6
|
fixed incorrect assert when receiving a 0-size piece message
|
2008-11-17 19:12:34 +00:00 |
Arvid Norberg
|
71fb640699
|
fix to count download stats when a peer has disconnected or sends an invalid message id
|
2008-11-06 09:01:27 +00:00 |
Arvid Norberg
|
17c250349e
|
fix for when update_peer_port() disconnects
|
2008-11-01 19:34:12 +00:00 |
Arvid Norberg
|
f7b22e3517
|
return if disconnected by extension
|
2008-10-23 16:31:15 +00:00 |
Arvid Norberg
|
13554cbd3b
|
transfer stats assert fix
|
2008-10-09 03:33:53 +00:00 |
Arvid Norberg
|
468ec140ac
|
fixed invalid invariant check
|
2008-10-07 03:57:18 +00:00 |
Arvid Norberg
|
dd40d24708
|
more stats assert fixes
|
2008-10-01 15:19:31 +00:00 |
Arvid Norberg
|
dc3c5d0bd7
|
more fixes to not trigger the stat asserts
|
2008-09-30 18:52:53 +00:00 |
Arvid Norberg
|
0ae891118b
|
fixed stats reporting in bt_peer_connection
|
2008-09-24 02:38:20 +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
|
98f9d5826c
|
fixed busted is_any check for 'ipv6' key in extended handshake
|
2008-09-20 16:21:16 +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
|
c7c0974d3f
|
fixed bugs in verbose logging
|
2008-09-04 14:39:02 +00:00 |
Arvid Norberg
|
92ed7fb364
|
fixed metadata extension issues
|
2008-08-29 17:21:56 +00:00 |
Arvid Norberg
|
e58485822b
|
optimized encryption
|
2008-08-20 23:05:12 +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
|
429a118dd2
|
keep track of interest more tightly. better support for upload_only
|
2008-07-18 10:03:42 +00:00 |
Arvid Norberg
|
72b99059e7
|
optimized policy::peer
|
2008-07-14 11:15:35 +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 |
Arvid Norberg
|
b354e7e0d9
|
fixed bug in extension loop
|
2008-07-01 20:22:25 +00:00 |
Arvid Norberg
|
10f5418ce7
|
switched extension handshake parsing over to use lazy_bdecode for improved performance
|
2008-07-01 08:04:12 +00:00 |
Arvid Norberg
|
d132dd45e3
|
removed exceptions from pe_crypto and improved error handling
|
2008-06-28 10:10:05 +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
|
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
|
9d1e77dc88
|
optimized away torrent::m_have_pieces (#62) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed
|
2008-06-07 02:58:28 +00:00 |
Arvid Norberg
|
f12e1d26b7
|
Fixed bug in on_bitfield. Fixes #342
|
2008-06-02 06:52:24 +00:00 |
Arvid Norberg
|
68c31e48dc
|
replaced vector<bool> with a custom bitfield type
|
2008-05-28 02:35:02 +00:00 |
Arvid Norberg
|
111f5faecb
|
upload only extension
|
2008-05-18 05:59:47 +00:00 |
Arvid Norberg
|
f259e34f86
|
peer_connection fix for incoming connections
|
2008-05-12 10:10:39 +00:00 |
Arvid Norberg
|
068adcd9a9
|
indentation fix
|
2008-05-12 06:03:31 +00:00 |
Arvid Norberg
|
eabe9cad2d
|
improved plugin support
|
2008-05-12 03:05:27 +00:00 |
Arvid Norberg
|
d15573ecc2
|
disk receive buffer cleanup
|
2008-05-05 06:25:22 +00:00 |
Arvid Norberg
|
c7e6c04705
|
switched over to asio from boost-1.35
|
2008-05-03 16:05:42 +00:00 |
Arvid Norberg
|
c043d4b21d
|
initial support for queuing
|
2008-04-24 03:28:48 +00:00 |
Arvid Norberg
|
093d912e9a
|
receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type
|
2008-04-10 10:03:23 +00:00 |
Arvid Norberg
|
64a195651d
|
cleaned up some crypto code
|
2008-04-08 05:51:12 +00:00 |
Arvid Norberg
|
7657878b48
|
exception fix
|
2008-04-07 02:07:23 +00:00 |
Arvid Norberg
|
35fd9aec61
|
msvc build fixes and warning fixes
|
2008-04-05 21:18:27 +00:00 |
Arvid Norberg
|
1511f2f59b
|
removed calls to self() from inside constructors in peer connections
|
2008-03-31 04:46:24 +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
|
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
|
a25c25b02a
|
fixed windows build and removed msvc warnings
|
2008-02-25 10:28:53 +00:00 |
Arvid Norberg
|
1c82ef36d8
|
improved support for out-of-memory conditions
|
2008-02-05 05:51:05 +00:00 |
Arvid Norberg
|
684bade8ea
|
fixed hard coded pad size (for encrypted connections) to be properly randomized
|
2008-01-31 06:34:43 +00:00 |
Arvid Norberg
|
61bbc6e58f
|
initial https support for trackers and http_connection. Added support for proxies to http_connection
|
2008-01-27 22:39:50 +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
|
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
|
44735a425f
|
fix bitfield assert
|
2007-12-22 19:10:38 +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
|
2ed210fd8a
|
fixed assert, #164
|
2007-11-19 07:07:57 +00:00 |
Arvid Norberg
|
c982ba5d90
|
encryption fix
|
2007-10-31 23:51:45 +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
|
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
|
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
|
7ddc7c2258
|
fast reconnect in case encrypted connection fails
|
2007-10-04 09:46:12 +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
|
2e93b92cb4
|
more IPv6 fixes. support for multihomed machines by listening on multiple interfaces. added listen_succeeded_alert to advertize which interfaces are being listened on
|
2007-09-22 16:27:29 +00:00 |
Arvid Norberg
|
ba437cf72e
|
some more IPv6 support
|
2007-09-19 21:54:26 +00:00 |
Arvid Norberg
|
73bb0c05ad
|
added 'incoming' peer source
|
2007-09-15 20:17:23 +00:00 |
Arvid Norberg
|
35247e5912
|
fixed #151
|
2007-09-09 22:45:31 +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
|
b05500570c
|
added parenthesis around std::min and std::max for msvc compatibility
|
2007-08-16 22:14:17 +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
|
430534bf3f
|
fixed incorrect assert
|
2007-07-10 18:55:14 +00:00 |
Arvid Norberg
|
182c917842
|
optimized peer_connection by postponing diffie hellman key creation and generation of handhake until the connection has succeeded
|
2007-07-09 04:22:38 +00:00 |
Arvid Norberg
|
a46ef3ece8
|
changed the handshake 'ip' to 'yourip'
|
2007-07-07 01:36:40 +00:00 |
unsh
|
fa90161327
|
Fixed #71
|
2007-06-30 07:28:44 +00:00 |
Arvid Norberg
|
340a91e2a4
|
fixed #74
|
2007-06-21 00:51:42 +00:00 |
Arvid Norberg
|
756db24b75
|
logs pad size when using encryption
|
2007-06-18 17:12:42 +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 |
unsh
|
e858cbc1ae
|
fixes for r1331
|
2007-06-07 11:04:00 +00:00 |
unsh
|
7996d35395
|
added invariant checks
|
2007-06-07 10:18:13 +00:00 |
Arvid Norberg
|
273f8bd921
|
merged back encryption branch to trunk
|
2007-06-06 00:41:20 +00:00 |
unsh
|
41cf912501
|
merged lazy bitfields fixes (r1316, r1320)
|
2007-06-05 10:20:45 +00:00 |
Arvid Norberg
|
9fe77101ed
|
added support for lazy bitfields
|
2007-05-26 22:27:40 +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
|
54805ca60b
|
added option to disable country resolving
|
2007-05-02 19:47:38 +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 |
Arvid Norberg
|
d43a6b80bf
|
added an abstraction layer or tcp sockets, to be able to support socks proxys
|
2007-04-23 21:36:21 +00:00 |
Arvid Norberg
|
4b750a29d2
|
made the logging of bitfields slightly faster
|
2007-04-17 21:18:52 +00:00 |
Arvid Norberg
|
40804a829b
|
failcount is reset on a peer that successfully connects. documented max_failcount and min_reconnect_time. implemented seed optimization for piece_picker (inc_refcount_all and dec_refcount_all), ticket #17
|
2007-04-15 02:14:02 +00:00 |
Arvid Norberg
|
a22ad5ad33
|
added failcount to peer_info. fixes #31
|
2007-04-13 20:19:04 +00:00 |
Arvid Norberg
|
3ed24da320
|
added source to peer_info, which is a bitmask of the sources where the peer has been acquired from
|
2007-04-10 21:23:13 +00:00 |
Arvid Norberg
|
d88ffcc0e4
|
removed some more unecessary boost.date_time dependencies
|
2007-04-10 07:52:58 +00:00 |
Arvid Norberg
|
306d015924
|
added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient
|
2007-04-04 22:27:36 +00:00 |
Arvid Norberg
|
ec2962dd62
|
extensions are now instantiated for web seeds as well
|
2007-04-02 20:00:24 +00:00 |
Arvid Norberg
|
8957b64c04
|
prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp
|
2007-03-17 17:15:16 +00:00 |
Arvid Norberg
|
ecaa3068d5
|
added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process.
|
2007-03-15 22:03:56 +00:00 |
Arvid Norberg
|
be574bcc33
|
removed old commented out code. polished client_test output
|
2007-03-02 06:49:00 +00:00 |
Arvid Norberg
|
98b92e3f02
|
fixed problems in the network layer that made web seeds fail some times. prepared for proxy support in peer connections. worked on the http seeding. added support for web seeds in make_torrent tool
|
2007-02-12 05:46:29 +00:00 |
Arvid Norberg
|
1a0547a15c
|
removed chat extension code that was commented out
|
2007-01-30 22:40:21 +00:00 |
Arvid Norberg
|
f14c84b01e
|
fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country).
|
2007-01-29 07:39:33 +00:00 |
Arvid Norberg
|
87f7b186b0
|
replaced the bandwidth throttling code with a leaky bucket for better accuracy
|
2007-01-10 15:02:25 +00:00 |
Arvid Norberg
|
947df91b20
|
improved support for multiple connections per ip
|
2006-11-30 11:56:19 +00:00 |
Arvid Norberg
|
f56cd20a1e
|
only sends the local listen port in the extension message for outgoing connections
|
2006-11-26 17:44:15 +00:00 |
Arvid Norberg
|
c52de08421
|
added more logging and modified the resource allocation algorithm. A new, looser, upload and download bandwidth limiter is now used, in order to be able to use more of the available bandwidth
|
2006-11-19 15:29:58 +00:00 |
Arvid Norberg
|
51e3261dd0
|
the file pool has been moved to the session and its size can be controlled via session_settings. Added untested option to allow multiple connections from the same IP.
|
2006-11-14 15:53:38 +00:00 |
Arvid Norberg
|
e35fc5c4be
|
refactored extensions and added a plugin interface. fixed file.cpp for windows
|
2006-11-14 00:08:16 +00:00 |
Arvid Norberg
|
f0519e86e8
|
separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async.
|
2006-10-11 14:02:21 +00:00 |
Arvid Norberg
|
c687c428c4
|
removed incorrect asserts. added ip to the extension header. removed the mandatory libtorrent suffix on the user agent
|
2006-09-28 00:49:40 +00:00 |
Arvid Norberg
|
a42189af62
|
removed out dated comments
|
2006-09-23 21:23:24 +00:00 |
Arvid Norberg
|
f92b6cd90c
|
fixed test_ip_filter and test_piece_picker to reflect recent api changes. Fixed an Obj.C naming issue. Removed files from include/Makefile.am that was removed from asio.
|
2006-09-11 23:34:07 +00:00 |
Arvid Norberg
|
5ef57265bf
|
first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD.
|
2006-08-01 15:27:08 +00:00 |
Arvid Norberg
|
e6bb265d94
|
replaced http_settings with session_settings and introduced more settings
|
2006-05-20 23:24:19 +00:00 |
Arvid Norberg
|
262e97f21d
|
updated to latest version of asio. fixed a problem with low resolution timers in the second_tick code found by Massaroddel.
|
2006-05-20 15:30:40 +00:00 |
Arvid Norberg
|
0b529e8f96
|
added a setting for max outstanding requests, and a limit for BitComet since it's known to have a very low limit, also added an extension header to specify it. Fixed another unnecessary delay spotted by Tianhao Qiu. Cleaned up the logging class a bit. Fixed a bug that would cause an assert when removing a torrent queued for checking.
|
2006-05-14 22:30:05 +00:00 |
Arvid Norberg
|
18cb6736ea
|
fixed a serious bug where corrupt messages could be sent out.
|
2006-04-30 00:39:18 +00:00 |
Arvid Norberg
|
41810b1166
|
merged back the asio development branch
|
2006-04-25 21:04:48 +00:00 |