Commit Graph

389 Commits

Author SHA1 Message Date
Arvid Norberg 46bf2970fb fixes to remote peer download rate etimation 2007-06-14 21:47:00 +00:00
Arvid Norberg 97099dc0ca added more fixes to Jamfile in order to make it build on windows 2007-06-13 17:36:26 +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 31247c046a supports turning on and off upnp, natpmp and lsd. All ofthem are now off by default 2007-05-31 00:21:54 +00:00
Arvid Norberg bb71832f5f exposed some more peer info 2007-05-25 19:42:10 +00:00
Arvid Norberg c48bba388e formatting fixes in client test, and made the test build when resolve countries is disabled 2007-05-24 20:23:14 +00:00
Arvid Norberg 1eb819b901 fix to previous optimization in client_test 2007-05-24 00:52:03 +00:00
Arvid Norberg 4bcf8b53ff string operations optimizations in client_test 2007-05-23 07:39:21 +00:00
Arvid Norberg d7ed474a46 interface update to client_test 2007-05-09 20:06:53 +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 f41fd7d303 added catch blocks to lsd. changed bind expressions to use operators 2007-04-29 20:49: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
Arvid Norberg 094dc1065c some boost 1.34 preprocessor conditions and fixed assert in piece_picker 2007-04-23 17:14:40 +00:00
Arvid Norberg 849db39472 added peer_blocked_alert which is generated when a peer is blocked by the IP filter. Fixed the ip-filter parsing in client_test and made it report the peer_blocked_alert. Added documentation. 2007-04-17 05:56:43 +00:00
Arvid Norberg b05abc76f4 fixed time formatting in client_test 2007-04-15 17:44:06 +00:00
Arvid Norberg c54f702e65 fixed fill character in client_test 2007-04-14 23:59:09 +00:00
Arvid Norberg f16e419abd fixed proper formatting of announce count down in client_test 2007-04-14 21:03:14 +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 0863bc1aa6 removed the dependency on the compiled boost.date_time library 2007-04-10 09:11:32 +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 09fc62a289 removed excutable flags from examples 2007-03-21 08:47:13 +00:00
Arvid Norberg d08ca8c4e6 made the timestamps local instead of universal in client_test 2007-03-16 23:24:30 +00:00
Arvid Norberg 81ad74cbcd fixes related to nat port mapping and having dht and bittorrent listen on the same port number 2007-03-16 21:45:29 +00:00
Arvid Norberg a6b1583d3f fixes to natpmp to take listen interface into account. added colors to the log in client_test 2007-03-16 21:04:58 +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 2dbfa156d3 client test now always uses dht. fixed problem with the dht logging and updated dht extension docs. 2007-03-08 21:42:37 +00:00
Arvid Norberg 0253004ab6 improved client_test's error reporting for web seeds 2007-03-07 00:10:47 +00:00
Arvid Norberg be574bcc33 removed old commented out code. polished client_test output 2007-03-02 06:49:00 +00:00
Arvid Norberg 8f1128f540 more dht fixes. polished client test output some 2007-03-02 05:02:12 +00:00
Arvid Norberg 83c2039ff7 fix to previous dht fix. removed some deprication warnings on msvc-8. various fixes 2007-03-02 01:16:59 +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 69ef67d71e made a common base class for torrent alerts. Made the bandwidth quota block size variable depending on the limit 2007-01-16 05:05:52 +00:00
Arvid Norberg a26e7133ca correction of previous bugfix 2007-01-10 17:39:24 +00:00
Arvid Norberg f840f4529d bugfix 2007-01-10 17:34:53 +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 7a9e7d112e added max upload slots limit 2007-01-07 18:01:12 +00:00
Arvid Norberg 08e15e2f0c updated Makefile for latest asio, fix in peer exchange, updated client_test output 2007-01-02 17:44:15 +00:00
Arvid Norberg c586b3dc91 modified client_test arguments 2007-01-02 14:16:26 +00:00
Arvid Norberg d58c6d2e31 fixed so that both session constructors initializes boost.filesystem. Fixed the case where the file check throws exceptions, the torrent is no longer removed, but paused 2006-12-30 23:02:21 +00:00
Arvid Norberg ddfadaf6e4 made the interface more space efficient 2006-12-05 23:41:13 +00:00
Arvid Norberg b63c155c0d added uTorrent Peer exchange support, implemented by MassaRoddel 2006-11-26 17:44:51 +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 84aa3cf421 made client_test build in msvc 2006-11-02 11:47:26 +00:00
Arvid Norberg 6f939b565b added necessary try catch block 2006-10-25 11:43:25 +00:00
Arvid Norberg c66165614e the dht uses the specified port now 2006-10-11 22:05:10 +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 57471d4b37 fixed bug in client_test where dht_state wasnt used 2006-09-29 14:59:59 +00:00
Arvid Norberg 065c437d31 fixed bug in client_test where dht_state wasnt used 2006-09-29 14:59:26 +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 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 191fd76b42 made sequenced_download_threshold a per torrent setting. Updated the project page layout. Removed incorrect invariant checks in piece picker. 2006-09-04 17:17:45 +00:00
Arvid Norberg bdf1bbc8f4 changed the file format for storing the DHT routing table to support IPv6. Changed the address used to be IPv4-IPv6 independent (ip_filter still onlt works with IPv4). Added default boost-build features to the building documentation. Completed the jamfile's support for building without DHT support. Updated documentation with these changes. 2006-09-01 03:06:00 +00:00
Arvid Norberg b1411fcdf7 the DHT can now change listen port runtime, and the same listen interface will be used for the DHT as is used for the torrent listen port. The DHT buckets are refreshed slightly more evenly distributed over time. 2006-08-30 00:09:58 +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 eef4ffa18c preliminary http proxy support for web seeds, bumped version number 2006-07-27 18:07:51 +00:00
Arvid Norberg 00df2b5bc3 added build notes for vs.net 2005, removed old code from ip_filter.cpp, fixed problem where the stats could become incorrect in case of very high cpu load, added asserts in storage::read() to make sure one is not trying to read out of bounds. 2006-07-26 10:21:25 +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 25dae899f0 added per file progress, added patch suggested by Tianhao Qui regarding unchoking when a peer becomes uninterested. Updated documentation and removed block quotes around bullet lists. 2006-06-11 13:48:39 +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 e6bb265d94 replaced http_settings with session_settings and introduced more settings 2006-05-20 23:24:19 +00:00
Arvid Norberg d63ceac56c fixed a bug in client_test. fixed some problems related to the previous buffer bug fix. all tests pass now. 2006-04-30 10:28:45 +00:00
Arvid Norberg 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +00:00
Arvid Norberg 2d70a9b5bf some more steps in the direction of getting it to build on vc7 2006-01-10 00:38:52 +00:00
Arvid Norberg 564ae78012 fixed bug caused when sockets were bound to non-local interface 2006-01-06 20:20:20 +00:00
Arvid Norberg 75dafc5d1b peers that throw in the connection attempt are now removed from the policy's list. added more asserts to session. disabled SIGPIPE on darwin 2005-11-07 02:18:39 +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 0c1c9d375d client_test works better on windows now 2005-10-19 18:00:17 +00:00
Arvid Norberg 55144fc3f4 all functions on torrent_handle are now const. restored r, p, u keys in client_test 2005-10-19 13:58:41 +00:00
Arvid Norberg 4f295074c6 client_test can now monitor a directory for .torrent files and automatically start and stop downloads 2005-10-19 00:50:38 +00:00
Arvid Norberg d3996ccfb9 added metadata_failed_alert and allcoating torrent state 2005-10-17 13:45:53 +00:00
Arvid Norberg f63702c964 optimized session::add_torrent() by putting more info in torrent_info, to make it possible to reproduce the exact info section from an torrent_info object. The result is that the .torrent file is only parsed once. 2005-10-16 16:58:41 +00:00
Arvid Norberg f770d1438d fixed bug introduced in latest storage changes (triggered when using metadata extension). improved commandline switches to client_test 2005-10-16 09:15:46 +00:00
Arvid Norberg 82c0ca5675 Changed the way libtorrent find out if a peer supports its extensions to make it compatible with Mainline beta. 2005-09-18 10:18:23 +00:00
Arvid Norberg a15f589341 fixed problem in piece_picker with filtered files, also optimzed it somewhat. Added more logging and added one test to the piece_picker test 2005-09-01 21:04:21 +00:00
Arvid Norberg 52e9eadb4e rollback 2005-08-25 13:11:39 +00:00
spyhole 663764a49a rename http_settings class as http_proxy class 2005-08-24 23:29:57 +00:00
spyhole 67527bec0b rename http_settings class as http_proxy class 2005-08-24 23:08:26 +00:00
Arvid Norberg 84ddeacea0 *** empty log message *** 2005-08-23 09:59:56 +00:00
Arvid Norberg 1934171431 bugfixes, fixes for boost 1.33, made the piece picker pick whole pieces from fast peers 2005-08-14 22:04:58 +00:00
Arvid Norberg c1ec7e8830 *** empty log message *** 2005-08-05 02:43:44 +00:00
spyhole 9c32d8f577 no message 2005-07-24 05:44:12 +00:00
Arvid Norberg 300e839fab *** empty log message *** 2005-07-16 00:56:50 +00:00
Arvid Norberg 080da58903 *** empty log message *** 2005-07-10 10:42:00 +00:00
Arvid Norberg 3be0d16899 *** empty log message *** 2005-07-06 18:40:01 +00:00
Arvid Norberg e003bb8ad5 added ip filters and fixed torrent_info::create_torrent() 2005-07-06 00:58:23 +00:00
Arvid Norberg 0320e097d6 *** empty log message *** 2005-06-16 15:41:04 +00:00
Arvid Norberg 3ba7f05bb9 *** empty log message *** 2005-05-30 22:50:54 +00:00
Arvid Norberg fbffae1981 *** empty log message *** 2005-05-30 17:43:03 +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 a326bc4391 *** empty log message *** 2004-10-18 10:46:55 +00:00
Arvid Norberg 2406d5e54d *** empty log message *** 2004-09-12 13:53:00 +00:00
Arvid Norberg 29cb9e8969 *** empty log message *** 2004-09-07 23:16:11 +00:00
Arvid Norberg c609faa879 *** empty log message *** 2004-08-30 09:08:36 +00:00
Arvid Norberg a1b50fb1e3 *** empty log message *** 2004-08-08 21:26:40 +00:00
Magnus Jonsson 7fe3323ced added num_seeds and distributed_copies to torrent_status 2004-08-05 13:56:26 +00:00
Arvid Norberg bd296f3657 *** empty log message *** 2004-07-24 11:54:17 +00:00
Arvid Norberg 1148a5574c *** empty log message *** 2004-07-18 00:39:58 +00:00
Arvid Norberg d1577962db *** empty log message *** 2004-07-06 18:20:07 +00:00
Arvid Norberg f70bd8ac97 added a metadata extension. i.e. torrent-less downloads 2004-06-13 23:30:42 +00:00
Arvid Norberg a67d44c601 bugfix 2004-06-05 12:24:35 +00:00
Arvid Norberg 22e2f8a164 *** empty log message *** 2004-05-10 06:12:29 +00:00
Arvid Norberg 220b6c4b88 *** empty log message *** 2004-04-14 03:32:02 +00:00
Arvid Norberg 98c1c824df timeouts become longer the more times a tracker fails 2004-04-01 22:29:51 +00:00
Arvid Norberg 19abdfb14a *** empty log message *** 2004-03-28 22:44:40 +00:00
Arvid Norberg e801435223 *** empty log message *** 2004-03-28 18:24:07 +00:00
Arvid Norberg fac783b4d8 *** empty log message *** 2004-03-28 17:45:37 +00:00
Arvid Norberg 870b4aeaab *** empty log message *** 2004-03-23 22:58:18 +00:00
Arvid Norberg bb52b74a9e *** empty log message *** 2004-03-21 02:03:37 +00:00
Arvid Norberg bfd918e90c *** empty log message *** 2004-03-17 12:55:26 +00:00
Arvid Norberg 06ad07cea7 *** empty log message *** 2004-03-17 12:14:44 +00:00
Arvid Norberg 522016da37 *** empty log message *** 2004-03-05 11:58:38 +00:00
Arvid Norberg 258d691dae *** empty log message *** 2004-03-03 13:47:12 +00:00
Arvid Norberg 02871e5977 *** empty log message *** 2004-03-01 21:54:10 +00:00
Arvid Norberg 3108cd0182 *** empty log message *** 2004-02-29 21:33:17 +00:00
Arvid Norberg 974a9d0966 *** empty log message *** 2004-02-26 08:12:56 +00:00
Arvid Norberg 2d363127e9 *** empty log message *** 2004-02-26 00:27:06 +00:00
Arvid Norberg 6d614bc6d3 *** empty log message *** 2004-02-24 23:55:42 +00:00
Magnus Jonsson ed7c5e6d13 *** empty log message *** 2004-02-24 23:48:02 +00:00
Magnus Jonsson 13b2590c0b *** empty log message *** 2004-02-24 19:23:37 +00:00
Magnus Jonsson 4cb125a694 *** empty log message *** 2004-02-23 22:54:54 +00:00
Arvid Norberg 402046338c *** empty log message *** 2004-02-18 00:08:20 +00:00
Arvid Norberg 2722e5803f *** empty log message *** 2004-02-01 13:48:30 +00:00
Arvid Norberg 5783bc0528 *** empty log message *** 2004-02-01 00:55:28 +00:00
Arvid Norberg 5a15c8ebfb *** empty log message *** 2004-02-01 00:50:18 +00:00
Arvid Norberg 49e19dd363 *** empty log message *** 2004-01-31 11:03:48 +00:00
Arvid Norberg 5b7100656e *** empty log message *** 2004-01-31 10:20:19 +00:00
Arvid Norberg fc74e19224 *** empty log message *** 2004-01-26 10:29:00 +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 b897315abb implemented completely untested support for udp-trackers. 2004-01-21 13:16:11 +00:00
Magnus Jonsson 9c14019f34 *** empty log message *** 2004-01-21 00:59:38 +00:00
Arvid Norberg 4d33080399 *** empty log message *** 2004-01-17 20:04:19 +00:00
Arvid Norberg 410b35f95e *** empty log message *** 2004-01-15 16:45:34 +00:00
Arvid Norberg f036fc99a4 *** empty log message *** 2004-01-14 19:24:11 +00:00
Magnus Jonsson 3c884e72b4 *** empty log message *** 2004-01-14 16:22:49 +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 cfe5da0588 *** empty log message *** 2004-01-08 13:03:38 +00:00
Arvid Norberg 70ce7c23ba *** empty log message *** 2004-01-07 02:45:03 +00:00
Arvid Norberg 91c9156de1 *** empty log message *** 2004-01-07 00:48:02 +00:00
Arvid Norberg b637368c65 *** empty log message *** 2004-01-05 01:30:34 +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 95026395f3 *** empty log message *** 2004-01-02 20:46:24 +00:00
Arvid Norberg 5fd4f6ece2 *** empty log message *** 2003-12-27 01:34:50 +00:00
Arvid Norberg c432c9ad68 *** empty log message *** 2003-12-22 07:14:35 +00:00
Arvid Norberg 5ac9f67f23 *** empty log message *** 2003-12-21 17:28:27 +00:00
Arvid Norberg 029e185a1e *** empty log message *** 2003-12-17 03:40:13 +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 811c073c1b fixed storage bug 2003-12-10 00:24:16 +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 d99762f0b0 *** empty log message *** 2003-12-08 16:39:05 +00:00
Arvid Norberg dced8aa172 *** empty log message *** 2003-12-08 09:38:40 +00:00
Daniel Wallin 298f0edafa fixed bug in storage::read() 2003-12-08 09:01:57 +00:00
Arvid Norberg 3ed0745cb1 *** empty log message *** 2003-12-08 01:37:30 +00:00
Daniel Wallin 417c73be96 *** empty log message *** 2003-12-07 14:12:14 +00:00
Arvid Norberg 5f9ae41e86 *** empty log message *** 2003-12-07 05:53:04 +00:00
Daniel Wallin 7ae866bf10 *** empty log message *** 2003-12-05 10:10:06 +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 67ecb82524 *** empty log message *** 2003-11-26 14:54:56 +00:00
Daniel Wallin 329e610ca6 new storage 2003-11-26 14:11:25 +00:00
Arvid Norberg a1356219da added simple_client (and added it in the docs as well).
updated documentation to include some sample code.
fixed a nasty network bug.
It now seems to work on linux (at least in cygwin).
2003-11-23 03:00:45 +00:00
Arvid Norberg 3d385dde33 *** empty log message *** 2003-11-10 13:15:41 +00:00
Arvid Norberg 420ab6bff2 *** empty log message *** 2003-11-09 18:17:09 +00:00
Arvid Norberg eb90660022 fixed to work with managed C++ projects. 2003-11-07 01:44:30 +00:00
Arvid Norberg 81289c9354 *** empty log message *** 2003-11-06 10:44:19 +00:00
Arvid Norberg 6325295993 *** empty log message *** 2003-11-04 23:27:06 +00:00
Arvid Norberg 8b61436561 Increased performance. Fixed a bug. Extended torrent_handle interface. 2003-11-02 21:06:50 +00:00
Arvid Norberg 4016e3111b client_test now works on linux again. 2003-10-31 11:17:45 +00:00
Arvid Norberg 6466b46573 *** empty log message *** 2003-10-31 04:02:51 +00:00
Arvid Norberg d7f92afea3 *** empty log message *** 2003-10-29 23:28:09 +00:00
Arvid Norberg fca86964f8 *** empty log message *** 2003-10-26 17:35:23 +00:00
Arvid Norberg d2f7be1608 *** empty log message *** 2003-10-26 03:18:17 +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 7820b180f1 made it work on linux, also committed a makefile that'll have to do
until I get the Jamfile to work.
2003-10-24 11:11:28 +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