Commit Graph

128 Commits

Author SHA1 Message Date
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