Commit Graph

260 Commits

Author SHA1 Message Date
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
Arvid Norberg e2baa0a646 *** empty log message *** 2004-01-04 23:51:54 +00:00
Arvid Norberg 8a3d994416 *** empty log message *** 2004-01-04 04:29:13 +00:00
Arvid Norberg 97b387b196 *** empty log message *** 2004-01-03 03:22:53 +00:00
Arvid Norberg 95026395f3 *** empty log message *** 2004-01-02 20:46:24 +00:00
Arvid Norberg c432c9ad68 *** empty log message *** 2003-12-22 07:14:35 +00:00
Arvid Norberg 3b551ac272 *** empty log message *** 2003-12-17 19:03:23 +00:00
Arvid Norberg 5158ca8558 Updated zlib version.
Changed fignerprint interface to force azureus-style fingerprints.
Tested the load balancing, it seems to work.
2003-12-16 13:33:29 +00:00
Arvid Norberg 465b3c214a *** empty log message *** 2003-12-14 22:55:32 +00:00
Arvid Norberg 24e4c197c9 *** empty log message *** 2003-12-14 05:56:12 +00:00
Arvid Norberg 557b3f3955 *** empty log message *** 2003-12-09 18:09:34 +00:00
Daniel Wallin 22bfad216f made storage pimpled 2003-12-09 08:49:49 +00:00
Arvid Norberg ef5a49b694 *** empty log message *** 2003-12-08 21:59:48 +00:00
Arvid Norberg 3ed0745cb1 *** empty log message *** 2003-12-08 01:37:30 +00:00
Arvid Norberg 5f9ae41e86 *** empty log message *** 2003-12-07 05:53:04 +00:00
Daniel Wallin b62f8f1a85 started implementation of new storage. 2003-12-07 01:26:57 +00:00
Arvid Norberg 6402fd4a14 *** empty log message *** 2003-12-01 21:27:27 +00:00
Arvid Norberg f21d6a0f7f there are still some serious issues with storage when having large torrents (about 700 meg and up at least) 2003-12-01 05:01:40 +00:00
Arvid Norberg 086dbd40fe added support for comments and creation date in torrent files.
fixed bug in url_handler.
2003-11-20 19:58:29 +00:00
Arvid Norberg 420ab6bff2 *** empty log message *** 2003-11-09 18:17:09 +00:00
Arvid Norberg 01d9d10157 *** empty log message *** 2003-11-08 02:16:26 +00:00
Arvid Norberg 6325295993 *** empty log message *** 2003-11-04 23:27:06 +00:00
Arvid Norberg 0032bd8601 some cleanup, fixes, added documentation and added some configuration options. 2003-10-25 01:31:06 +00:00
Arvid Norberg ec34b1bfdb Initial commit of 'new' libtorrent.
The Jamfile is broken and will hopefully be fixed soon.
2003-10-22 23:00:57 +00:00