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
|
5bc4a2089d
|
fixed seeding choking algorithm to be more fair (proper round robin)
|
2008-12-10 23:07:44 +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
|
c3bbf138a4
|
estimate TCP/IP overhead more accurately
|
2008-11-14 20:51:49 +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
|
fddd1ee8e2
|
fixed assert when connecting to upload-only peers
|
2008-09-07 01:01:25 +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
|
429a118dd2
|
keep track of interest more tightly. better support for upload_only
|
2008-07-18 10:03:42 +00:00 |
Arvid Norberg
|
1bdb6afebd
|
fixes to previous connection timeout check-in
|
2008-07-10 10:58:30 +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
|
2ac5c13e6f
|
introduced a stricter timeout on piece requests and snubbing. exposed some more data about this through the peer_info. Fixes #40
|
2008-06-29 09:50:42 +00:00 |
Arvid Norberg
|
d1b2cd558e
|
moved peer time out logic to second tick
|
2008-06-29 05:35:48 +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
|
68c31e48dc
|
replaced vector<bool> with a custom bitfield type
|
2008-05-28 02:35:02 +00:00 |
Arvid Norberg
|
c460704a5f
|
streamlined class footprint by reducing padding
|
2008-05-19 02:52:32 +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
|
abb174218b
|
updated disconnect logic (also in [2279]). Introduced new peer_disconnect_alert used for normal disconnects and peer_error_alert is now used for protocol level errors
|
2008-05-12 06:05:13 +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
|
e09457e4ab
|
take an estimate of the IP ACK traffic into account when rate limiting (allows setting rate limits closer to the capacity)
|
2008-05-05 17:08:14 +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
|
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
|
57d75e120a
|
initial support for GeoIP (only AS mappings for now)
|
2008-04-05 04:53:22 +00:00 |
Arvid Norberg
|
0fcb204128
|
added peak rates to peer_info
|
2008-04-03 06:11:21 +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
|
a97be6937a
|
unchoker counts bytes instead of rates
|
2008-03-10 03:30:01 +00:00 |
Arvid Norberg
|
cecd0dfcd2
|
added rtt estimation for outgoing connections
|
2008-02-09 22:42:56 +00:00 |
Arvid Norberg
|
a53473a65d
|
added new logging mode to log peer errors
|
2008-02-07 07:09:52 +00:00 |
Arvid Norberg
|
5527a8e9b1
|
fixed build issue on msvc
|
2008-01-27 21:03:33 +00:00 |
Arvid Norberg
|
127d3e6ad5
|
bandwidth limiter fixes. proper priority that cannot starve connections
|
2008-01-17 17:40:46 +00:00 |
Arvid Norberg
|
b19bf337bf
|
generalized peer read/write state
|
2008-01-13 23:46:43 +00:00 |
Arvid Norberg
|
3a727e99ff
|
expose more info through peer_info
|
2008-01-10 22:13:23 +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
|
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
|
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
|
ac28fa7b62
|
some more asserts related to bandwidth manager
|
2007-12-14 18:02:06 +00:00 |
Arvid Norberg
|
f3d45fcfc1
|
initial support for ut_metadata
|
2007-12-02 04:16:51 +00:00 |
Arvid Norberg
|
d2880ff648
|
made allocate_send_buffer, setup_send and send_buffer virtual in peer_connection. Fixes #196
|
2007-10-31 10:20:05 +00:00 |
Arvid Norberg
|
6aeefaf513
|
removed self() from peer_connection, since it's in intrusive_ptr_base now
|
2007-10-31 09:44:31 +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
|
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
|
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
|
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
|
57a76f9db6
|
fixed debug assert on linux
|
2007-09-10 06:12:41 +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
|
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
|
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
|
be1faccd1d
|
peer_connection fixes for earlier pending disk buffer size limit
|
2007-08-03 08:19:10 +00:00 |
Arvid Norberg
|
8387240b31
|
more asserts, piece_picker fixes, debug-iterator fixes
|
2007-08-03 06:13:26 +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
|
5ae2e83af6
|
fixed _SECURE_SCL issue with msvc8
|
2007-07-17 01:29:58 +00:00 |
Arvid Norberg
|
47be8980ca
|
fixed typo in previous check-in
|
2007-07-09 17:45:45 +00:00 |
Arvid Norberg
|
df5a036066
|
fixed assert when using checked iterators
|
2007-07-09 17:34:38 +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
|
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
|
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
|
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
|
99a22dcae4
|
made dht requests be allocated in a pool allocator for heap and runtime efficiency. Fixes to DHT error responses
|
2007-05-23 08:45:12 +00:00 |
Arvid Norberg
|
1c147018db
|
fixed correct export macros for intrusive pointer refcounter functions
|
2007-05-21 19:31:37 +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
|
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
|
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 |
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
|
52623405f0
|
improved unchoking, connecting and disconnecting logic in policy. seems to fix #29
|
2007-04-12 10:21:55 +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
|
d0381a4cbd
|
added getters for rate limit on peer connections
|
2007-04-02 21:06:00 +00:00 |
Arvid Norberg
|
20e38bc42b
|
peer interest flag is now updated when priority is changed. fixes in piece_picker
|
2007-03-21 02:09:50 +00:00 |
Arvid Norberg
|
f795be7acf
|
made the dht be a fallback by default, fixed glitch in earlier fix to make sure block requests are sent properly, fixed problem in peer_connection::second_tick if the piece picker was removed because of the torrent becoming a seed
|
2007-02-12 09:20:49 +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
|
d0ebdb2dee
|
added prioritization in the bandwidth_manager (throttler), web seeds now have lower priority when being handed bandwidth. torrent_reply_alert now includes the number of peers returned from the tracker. updated Changelog
|
2007-02-01 07:33:04 +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
|
ef235faede
|
added MLDonkey to identify client, fixed a problem introduced with the recent piece_picker optimization, choked peers should now waste less bandwidth in the quota management.
|
2006-12-04 20:42:47 +00:00 |
Arvid Norberg
|
68e8ea35ea
|
added logging of upload and download statistics, revised some of the quota management, added support for sessions to allocate_resources (patch by wojci)
|
2006-11-20 21:03:58 +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
|
910733f29e
|
added proper support for dht router nodes (which are automatically used to bootstrap from, and won't get added to the routing table)
|
2006-09-27 17:20:18 +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
|
175fb8770b
|
added peer_timeout and urlseed_timeout to session_settings, they control the timeout for peers and web seeds respectively. Added BitSlug to the projects page. Added more debug logging when resolving web seed hostnames. Updated documentation.
|
2006-06-28 23:27:44 +00:00 |
Arvid Norberg
|
94628fa78d
|
fixed race condition in peer_connection, fixed assert in torrent destructor, updated tests
|
2006-05-28 19:03:54 +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 |
Arvid Norberg
|
7eb9812cfa
|
changed include order of boost headers to workaround namespace bug on msvc 7
|
2006-01-11 01:32:26 +00:00 |
Arvid Norberg
|
bcbe165aee
|
added the ability to limit the number of half-open tcp connections
|
2005-11-02 16:28:39 +00:00 |
Arvid Norberg
|
3f36dd0395
|
added the ability to build libtorrent as a shared library. Fixed bugs with deleting of incomplete types (replaced auto_ptr with scoped_ptr). Made the string converter fall back on windows local code page if utf-8 decoding failed.
|
2005-11-01 18:30:39 +00:00 |
Arvid Norberg
|
beee914277
|
separated the queue of blocks to be requested from peers and those allocated for peers. This sets a hard limit on the remote request queue size and works better with BitComet
|
2005-09-27 08:07:24 +00:00 |
Arvid Norberg
|
09c98711d5
|
made the peer_connection re-request pieces that aren't sent (fixes a problem where the download could get stuck because bitcomet ignores some requests)
|
2005-09-21 21:44:38 +00:00 |
Arvid Norberg
|
5a1e064783
|
Added support for dht-port message. It is currently only logged.
|
2005-09-14 22:45:22 +00:00 |
Arvid Norberg
|
7f890239c4
|
Added new send buffer class to avoid unecessary copying of outgoing data.
|
2005-09-14 19:33:16 +00:00 |
Arvid Norberg
|
356df1bd32
|
fixed choke-unchoke problem in policy
|
2005-08-18 20:38:03 +00:00 |
Arvid Norberg
|
eca5300ebb
|
*** empty log message ***
|
2005-06-15 12:54:35 +00:00 |
Arvid Norberg
|
2fabb2bf80
|
experimental support for filtering pieces (filter from downloading that is)
|
2005-05-25 10:01:01 +00:00 |
Arvid Norberg
|
1f87a19d1c
|
*** empty log message ***
|
2005-04-24 00:50:52 +00:00 |
Arvid Norberg
|
1672eed3f2
|
*** empty log message ***
|
2005-04-03 15:44:17 +00:00 |
Arvid Norberg
|
6ff7e76ab2
|
*** empty log message ***
|
2005-03-19 12:22:40 +00:00 |
Arvid Norberg
|
a34130b446
|
*** empty log message ***
|
2004-10-29 13:21:09 +00:00 |
Arvid Norberg
|
2406d5e54d
|
*** empty log message ***
|
2004-09-12 13:53:00 +00:00 |
Arvid Norberg
|
a1b50fb1e3
|
*** empty log message ***
|
2004-08-08 21:26:40 +00:00 |
Arvid Norberg
|
f70bd8ac97
|
added a metadata extension. i.e. torrent-less downloads
|
2004-06-13 23:30:42 +00:00 |
Arvid Norberg
|
fac783b4d8
|
*** empty log message ***
|
2004-03-28 17:45:37 +00:00 |
Arvid Norberg
|
27c8533716
|
*** empty log message ***
|
2004-03-22 14:56:32 +00:00 |
Arvid Norberg
|
bb52b74a9e
|
*** empty log message ***
|
2004-03-21 02:03:37 +00:00 |
Magnus Jonsson
|
bbd2d04038
|
Moved peer_request and piece_block_process out of peer_connection.hpp to their own headers.
|
2004-03-14 20:01:05 +00:00 |
Magnus Jonsson
|
d6dc5b52e4
|
*** empty log message ***
|
2004-03-11 14:56:48 +00:00 |
Arvid Norberg
|
6d614bc6d3
|
*** empty log message ***
|
2004-02-24 23:55:42 +00:00 |
Magnus Jonsson
|
13b2590c0b
|
*** empty log message ***
|
2004-02-24 19:23:37 +00:00 |
Arvid Norberg
|
cea75e3723
|
*** empty log message ***
|
2004-02-24 12:45:05 +00:00 |
Magnus Jonsson
|
4cb125a694
|
*** empty log message ***
|
2004-02-23 22:54:54 +00:00 |
Arvid Norberg
|
268d96020e
|
*** empty log message ***
|
2004-02-01 17:42:20 +00:00 |
Arvid Norberg
|
2722e5803f
|
*** empty log message ***
|
2004-02-01 13:48:30 +00:00 |
Arvid Norberg
|
e8fabd3735
|
*** empty log message ***
|
2004-01-31 11:14:54 +00:00 |
Arvid Norberg
|
49e19dd363
|
*** empty log message ***
|
2004-01-31 11:03:48 +00:00 |
Arvid Norberg
|
03561913df
|
*** empty log message ***
|
2004-01-28 11:37:46 +00:00 |
Arvid Norberg
|
7013ee461c
|
*** empty log message ***
|
2004-01-26 17:39:44 +00:00 |
Arvid Norberg
|
fc74e19224
|
*** empty log message ***
|
2004-01-26 10:29:00 +00:00 |
Arvid Norberg
|
1eaa0877c8
|
*** empty log message ***
|
2004-01-26 00:21:12 +00:00 |
Magnus Jonsson
|
23288c74f5
|
*** empty log message ***
|
2004-01-25 22:41:55 +00:00 |
Arvid Norberg
|
0dbbc18186
|
removed most warnings on msvc.
reimplemented piece_manager::check_pieces to take care of all possible cases of the storage state.
|
2004-01-25 18:18:36 +00:00 |
Arvid Norberg
|
19a4dad706
|
*** empty log message ***
|
2004-01-24 17:14:03 +00:00 |
Arvid Norberg
|
a3b47ec826
|
added documentation of udp-tracker protocol and finalized support for it.
|
2004-01-22 22:45:52 +00:00 |
Arvid Norberg
|
b897315abb
|
implemented completely untested support for udp-trackers.
|
2004-01-21 13:16:11 +00:00 |
Arvid Norberg
|
a9ef075d7d
|
started work on udp-tracker support.
|
2004-01-20 22:59:21 +00:00 |
Arvid Norberg
|
6d22d4144c
|
*** empty log message ***
|
2004-01-20 11:01:50 +00:00 |
Arvid Norberg
|
23256b9b1f
|
*** empty log message ***
|
2004-01-18 19:12:18 +00:00 |
Arvid Norberg
|
410b35f95e
|
*** empty log message ***
|
2004-01-15 16:45:34 +00:00 |
Magnus Jonsson
|
5068562916
|
*** empty log message ***
|
2004-01-14 11:46:26 +00:00 |
Arvid Norberg
|
abbedbf104
|
*** empty log message ***
|
2004-01-13 03:08:59 +00:00 |
Arvid Norberg
|
b6c826c6af
|
*** empty log message ***
|
2004-01-12 20:31:27 +00:00 |
Arvid Norberg
|
9e979efb8b
|
*** empty log message ***
|
2004-01-12 03:05:10 +00:00 |
Arvid Norberg
|
b9bbf242c6
|
*** empty log message ***
|
2004-01-09 10:50:22 +00:00 |
Arvid Norberg
|
cfe5da0588
|
*** empty log message ***
|
2004-01-08 13:03:38 +00:00 |
Arvid Norberg
|
91c9156de1
|
*** empty log message ***
|
2004-01-07 00:48:02 +00:00 |