Commit Graph

647 Commits

Author SHA1 Message Date
Arvid Norberg 8ee50045ca added support for uTorrent interpretation of multi-tracker torrents (off by default) 2009-06-28 20:21:55 +00:00
Arvid Norberg 9d76d0481e fixes tp typos in alert_types.hpp and windows fixes 2009-05-29 01:27:08 +00:00
Arvid Norberg 3eba18dcd5 formatting fix 2009-05-23 07:47:20 +00:00
Arvid Norberg c1d9198dc3 added largest_contiguous cache flush algorithm 2009-05-23 07:35:45 +00:00
Arvid Norberg 77ee976f3c fixed some client_test formatting 2009-05-22 03:40:06 +00:00
Arvid Norberg 5bce212126 fixed incoming peer source flag and exposed it in client_test 2009-05-15 23:22:11 +00:00
Arvid Norberg 2ebb82d905 client test formatting fixes 2009-05-15 16:21:36 +00:00
Arvid Norberg 53f890608d use C99 string formatting macros for platform independence 2009-05-15 15:52:15 +00:00
Arvid Norberg 084421ab4b transitioned more of client test over to snprintf instead of iostreams 2009-05-14 19:49:33 +00:00
Arvid Norberg 7fb7ebfa10 added option to set the screen refresh rate of client_test 2009-05-13 16:02:43 +00:00
Arvid Norberg d53fa12cd3 revert client_test 2009-05-13 01:34:37 +00:00
Arvid Norberg b7c5d2f12d add a separate setting for max peer list size for paused torrents 2009-05-13 01:34:10 +00:00
Arvid Norberg 8e3bd5154a removed iostream and boost-regex dependency in client_test 2009-05-13 01:02:06 +00:00
Arvid Norberg f2ec6b5adb added option to use a single block buffer when hashing, instead of for the entire piece 2009-05-03 19:09:06 +00:00
Arvid Norberg d73c97e444 made get_download_queue() use considerably less memory and scale with larger piece_sizes 2009-05-03 09:45:07 +00:00
Arvid Norberg e4ddb13b6f made the cache_size setting include send and receive buffers 2009-05-02 06:52:57 +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 981ae208d1 exception fixes 2009-04-07 15:06:07 +00:00
Arvid Norberg db8487be46 auto unchoke improvement 2009-04-04 07:55:34 +00:00
Arvid Norberg c683126ea3 fixed missing include in enum_if (thanks Marek Stopka) 2009-03-20 07:28:30 +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 c4e19e2ee7 client_test fix 2009-02-28 07:02:30 +00:00
Arvid Norberg 7aacfca292 made the examples build without exception support. added overloads of add_torrent() and add_magnet_uri() that don't throw 2009-02-26 07:09:56 +00:00
Arvid Norberg 7fff6ace1b added download queue time estimate 2009-02-17 02:33:45 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 708b42ad27 added option to show padding files in file list 2009-01-13 17:49:14 +00:00
Arvid Norberg 43e69cd316 added extension for file attributes. Fixes problem when sharing Application bundles on OSX or hidden files on windows 2009-01-11 22:27:43 +00:00
Arvid Norberg ab09424d8a don't show padding files 2009-01-11 20:28:34 +00:00
Arvid Norberg eea890de11 added support for generating torrent files with padding files in them 2009-01-11 10:32:57 +00:00
Arvid Norberg d07ccaf6b8 workaround for sparse files issue on Windows vista 2009-01-05 01:08:09 +00:00
Arvid Norberg aecc24171d extended utf-8 encoding error correction to also cover name, comment and created by. Fixes #372 2008-12-31 10:18:19 +00:00
Arvid Norberg 0638251289 added queued bytes to bandwidth manager and session_stats 2008-12-13 05:12:12 +00:00
Arvid Norberg aced1fcac3 don't show connecting peers in client_test 2008-12-13 03:05:29 +00:00
Arvid Norberg d1a2b774e6 changed how trackers are handled. Implements #297 by setting session_settings::announce_to_all_trackers to true 2008-11-29 08:38:40 +00:00
Arvid Norberg acbdbfc1ef added tracker exchange (tex) extension 2008-11-27 20:51:59 +00:00
Arvid Norberg 65559b3441 made example client_test UI more compact 2008-11-27 20:10:17 +00:00
Arvid Norberg 357d548bb5 fixed boost.filesystem usage to not rely on deprecated functions 2008-11-21 23:38:07 +00:00
Arvid Norberg 723aba6c24 solved issue with pausing checking torrents. Introduced a new state, checkin_resume_data, which a torrent is in while waiting for the disk io thread to verify the resume data, but before it has been determined wheter it should be queued for checking or not 2008-11-19 00:46:48 +00:00
Arvid Norberg 1c1ba2b383 fixed documentation and client_test code when waiting for resume_data_alert 2008-11-18 10:30:57 +00:00
Arvid Norberg f503bbfe86 fix for when aborting torrents that are being checked. Fix in client_test when removing torrents that are checking. 2008-11-17 01:19:46 +00:00
Arvid Norberg e9a33e6a05 added option to set alert mask when constructing session 2008-11-16 02:09:53 +00:00
Arvid Norberg 1d45dbabb0 improved client_test add_torrent output 2008-11-10 04:16:52 +00:00
Arvid Norberg 89c7a3168b client_test fix: saves resume data when torrents are manually paused or resumed, to not loose that state 2008-10-19 04:04:12 +00:00
Arvid Norberg f04e9e9875 made unchoke interval depend on piece size 2008-10-18 22:35:10 +00:00
Arvid Norberg 18017c3f72 updated documentation on saving resume data and fixed client_test to do it properly 2008-10-17 02:26:08 +00:00
Arvid Norberg d8d0955910 client_test fix to not crash when loading an invalid torrent file and shut down properly (set torrents to not be auto managed when pausing them) 2008-10-17 01:47:24 +00:00
Arvid Norberg ae4f487449 ip filter parse fix 2008-10-15 21:31:55 +00:00
Arvid Norberg 528a009f7f removed date-time and iostream from makefiles 2008-10-04 07:46:56 +00:00
Arvid Norberg a93ae86d85 fixed bug in client_test when loading paused torrents 2008-09-26 00:26:35 +00:00
Arvid Norberg a36da15c29 saves sequential download in fastresume data 2008-09-23 03:52:49 +00:00
Arvid Norberg 1ac3b8298c report tracker bandwidth usage and include it in rate limiter 2008-09-22 00:15:05 +00:00
Arvid Norberg 0338510b9b added more bandwidth monitoring of DHT and TCP/IP overhead. added monitoring of the running DHT lookups 2008-09-20 17:42:25 +00:00
Arvid Norberg e8a0ace739 added a key to scrape the tracker for a torrent in client_test 2008-09-07 09:59:54 +00:00
roman_rybalko f9f7b689a3 automake build system fix: make dist always creates same dist regardless of configure parameters, test/Makefile.am made more clear 2008-09-02 11:14:10 +00:00
Arvid Norberg c88071ae10 fixed race when adding router nodes to the dht (router nodes should be added before it's started) 2008-09-02 06:37:40 +00:00
Arvid Norberg eaffa85c54 fixed client_test to be able to print empty piece bars 2008-08-29 00:42:57 +00:00
Arvid Norberg 9b38724417 made dump torrent create magnet links 2008-08-27 18:44:35 +00:00
Arvid Norberg cc7391690b fixed client test status display since connecting_to_tracker was removed 2008-08-11 14:34:37 +00:00
Arvid Norberg cbf8e6f3b1 introduced TORRENT_NO_DEPRECATE, to disable deprecated functions. Made example not use deprecated functions. Documented magnet uri related functions. 2008-08-03 15:14:08 +00:00
Arvid Norberg 7607034ab6 exposed upload_only in peer_info 2008-07-19 07:57:43 +00:00
Arvid Norberg d88acd3d95 file_progress fix 2008-07-13 16:44:14 +00:00
Arvid Norberg 4ee16ef247 use new file_progress api in client_test 2008-07-12 18:54:20 +00:00
Arvid Norberg ff6cbbc6b6 added torrent_handle::clear_error() to retry a torrent that is in an error state (torrent_status::error is set) 2008-07-12 17:00:52 +00:00
Arvid Norberg 9122ed8cea support for logging to file in client_test 2008-07-12 08:19:17 +00:00
Arvid Norberg 792726be8d print cache age in client_test 2008-07-11 10:35:59 +00:00
Arvid Norberg 9c9c13c7bb exposed read cache info as well as write cache 2008-07-11 10:29:26 +00:00
Arvid Norberg 1b6cc3b870 wait a bit longer for fastresume data 2008-07-11 07:33:34 +00:00
Arvid Norberg 96ca475652 added redundant and failed byte counters to session 2008-07-11 07:30:04 +00:00
Arvid Norberg d06f125513 improved accuracy of the file progress report to include completed blocks from incomplete pieces (but not partial blocks) 2008-07-09 10:45:07 +00:00
Arvid Norberg 9d97fc4bb9 print out percentage complete of files in client_test 2008-07-09 10:02:24 +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 73b54f1d0c added timestamp to events 2008-07-07 12:03:29 +00:00
Arvid Norberg e576babbb8 changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level. 2008-07-06 12:22:56 +00:00
Arvid Norberg ecb538b4b2 added alert for torrent state changes. Fixes #360 2008-07-03 10:05:51 +00:00
Arvid Norberg af0ebb519c added copyright notices in files missing them 2008-07-01 18:59:13 +00:00
Arvid Norberg 9c84908bb9 switched resume data parsing over to use lazy_bdecode. Improves memory allocation performance, especially noticable when heap allocations are expensive. Makes it more practical to run with malloc debug. Changed resume data interface to take a vector as opposed to a parsed structure 2008-06-30 23:14:31 +00:00
Arvid Norberg e1bedea35d fix warning in client_test 2008-06-30 08:45:44 +00:00
Arvid Norberg d396ab7b17 added pause and resume to the session. Fixes #349 2008-06-29 19:08:30 +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 2ee95f9143 exception changes to client_test 2008-06-29 05:34:22 +00:00
Arvid Norberg ca0f17ee95 won't save resume data for torrents without a complete state (checking or queued for checking torrents) 2008-06-24 12:48:28 +00:00
Arvid Norberg 9780d378ed made examples use the new more efficient torrent_info constructor 2008-06-24 11:54:13 +00:00
cg25 71c4f6f9b6 * improved --with-asio configure option behaviour;
* using -version-info flag instead of -revision one for the sake of correct
  interface versioning;
* renaming library to libtorrent-rasterbar.so to avoind conflicting with other
  libraries.
2008-06-23 00:09:12 +00:00
Arvid Norberg a0517fc3cb client test storage allocation mode fix 2008-06-22 23:09:38 +00:00
Arvid Norberg d35eb71389 made client test adjust settings for the active torrent instead of all at the same time 2008-06-17 08:32:32 +00:00
Arvid Norberg a1857f9699 added force_recheck to torrent_handle. Fixes #120 2008-06-07 16:24:56 +00:00
Arvid Norberg f16b5d0c7a changed default to 5 upload slots in client_test 2008-06-07 14:02:26 +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 31c9d378f5 completed queuing. It is now possible to change and query queue position of torrents. 2008-05-29 03:37:19 +00:00
Arvid Norberg 0a27b0a2ce bugfix in client_test 2008-05-29 02:21:22 +00:00
Arvid Norberg 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +00:00
Arvid Norberg c7c1a3913e fixed client_test to use bitfield type 2008-05-28 06:50:11 +00:00
Arvid Norberg dbb625a910 torrent_info fixes. make_torrent now builds 2008-05-20 09:49:40 +00:00
Arvid Norberg 67354421fb introduced an error state for torrents. Torrents with an error are not restarted automatically 2008-05-20 07:57:44 +00:00
Arvid Norberg b859942369 added torrent name to logs 2008-05-20 01:23:26 +00:00
Arvid Norberg 949dbe23d3 added more output in the client_test log 2008-05-19 07:37:01 +00:00
Arvid Norberg 777954ab3e automatically scrape auto managed torrents to keep track of downloader/seed ratio 2008-05-19 04:06:25 +00:00
Arvid Norberg 8ed949c4d5 factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance 2008-05-14 05:29:42 +00:00
Arvid Norberg e51c8bea37 added makefile support for boost.system (#322) 2008-05-11 22:43:44 +00:00
Arvid Norberg 455045f02a client test update 2008-05-07 18:02:11 +00:00
Arvid Norberg 4f859ba778 client test update 2008-05-07 09:28:49 +00:00
Arvid Norberg 840273a94b example client change 2008-05-07 08:17:28 +00:00
Arvid Norberg 3ddca16525 client test fix 2008-05-07 07:24:34 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg c3b60f1b8f modified get_default_gateway to not take an interface 2008-04-28 02:20:40 +00:00
Arvid Norberg c2f7fb0fb4 added enum_routes to dump routing table 2008-04-28 00:20:59 +00:00
Arvid Norberg 6a7790cd28 added implementation for get_default_router for linux 2008-04-25 05:51:21 +00:00
Arvid Norberg b73112682c client test ui updates 2008-04-24 04:17:54 +00:00
Arvid Norberg c043d4b21d initial support for queuing 2008-04-24 03:28:48 +00:00
Arvid Norberg 0550363b85 geo ip fix in client_test 2008-04-22 17:17:01 +00:00
Arvid Norberg 9a434a919f some more ASNum additions 2008-04-22 00:05:23 +00:00
Arvid Norberg eb82e13357 client_test updates 2008-04-16 07:02:19 +00:00
Arvid Norberg 755e50bb12 added active_time, seeding_time, all_time_upload and all_time_download to torrent_status. Also updated docs with some missing entries in torrent_status 2008-04-16 06:31:05 +00:00
Arvid Norberg 3fea2080fd added an asynchronous save_resume_data to make it easier to synchronize with the disk IO thread 2008-04-13 18:54:36 +00:00
Arvid Norberg 42f55adcce support for country lookup through GeoIP 2008-04-11 08:46:43 +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 2014e312b1 exposed connection_candidates in torrent_status and made a small optimization to not attempt to connect peers on swarms that don't have any connect candidates 2008-03-29 18:47:24 +00:00
Arvid Norberg 48127a8f6b added enum_if example to the makefile to be part of releases 2008-03-17 02:40:14 +00:00
Arvid Norberg 9d3b60edb7 added support to bind outgoing connections to specific ports (might be useful to do traffic shaping) 2008-02-28 07:34:07 +00:00
Arvid Norberg e48e52770b more rendering fixes in client_test 2008-02-28 03:24:38 +00:00
Arvid Norberg 60add53428 fixes printing issue in client_test 2008-02-28 02:46:01 +00:00
Arvid Norberg ef9ef674d5 added read cache. Not fully configurable yet 2008-02-22 04:11:04 +00:00
Arvid Norberg 4f6c77e1d5 made client test use the default file storage 2008-02-17 20:31:02 +00:00
Arvid Norberg 7e83c3fc51 changed storage interface to not require exceptions 2008-02-14 03:48:20 +00:00
Arvid Norberg 6c552db68e added disk cache expiration 2008-02-10 00:58:25 +00:00
Arvid Norberg cecd0dfcd2 added rtt estimation for outgoing connections 2008-02-09 22:42:56 +00:00
Arvid Norberg 8cf0510144 added disk cache for write operations 2008-02-08 10:22:05 +00:00
Arvid Norberg c798ab30e1 rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings 2008-01-31 17:52:29 +00:00
Arvid Norberg f783d4d869 made the piece bar work in windows 2008-01-24 03:59:08 +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 5d196ed555 auto upload slots. opens up more slots if upload rate is not met. On by default 2008-01-13 11:18:18 +00:00
Arvid Norberg 72eee8838c sets default per-torrent download limit to infinite in client_test 2008-01-13 10:10:44 +00:00
Arvid Norberg 95c853e107 fixed peer-info header alignment in client_test 2008-01-13 06:31:33 +00:00
Arvid Norberg dad00f68cd prints out default gateway in example 2008-01-11 09:58:40 +00:00
Arvid Norberg f36e6a6c4f proper default gateway discovery 2008-01-11 09:38:05 +00:00
Arvid Norberg 72edfc2ee7 improved network interface enumeration and upnp device filtering 2008-01-11 06:49:37 +00:00
Arvid Norberg a8f07edffa added download rate limit per torrent 2008-01-10 23:12:58 +00:00
Arvid Norberg 3a727e99ff expose more info through peer_info 2008-01-10 22:13:23 +00:00
Arvid Norberg 1d6e0f5bf6 bandwidth request block size optimization 2008-01-07 04:47:20 +00:00
Arvid Norberg 4d8833bc35 added total stats to client_test 2008-01-06 20:16:46 +00:00
Arvid Norberg 5b2f1d70e8 per-torrent upload rate limit fix for client_test 2008-01-03 08:17:17 +00:00
Arvid Norberg 1aa9a5b041 added option to limit upload rate per torrent to client_test 2008-01-02 18:22:34 +00:00
Arvid Norberg dfd563dfbb made most examples build without exception support 2007-12-30 01:59:10 +00:00
Arvid Norberg f9e20ed9b1 removed leftover dead code from client_test 2007-12-27 06:23:37 +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 7a393426b1 made client test not use a deprecated function. fixes #229 2007-12-15 23:35:25 +00:00
Michael Wojciechowski bce53063ab Changed configure script to not to modify LIBS, when checking for dependencies. Changed libtorrent.pc.in again, since the libraries used were
wrong, because $LIBS was used. Corrected Makefile.am in test, examples and src.
2007-12-14 20:53:56 +00:00
Arvid Norberg b2dc035a54 support for magnet links in client_test 2007-12-11 20:02:55 +00:00
Arvid Norberg fff87a6845 added m4 script for boost iostream and added ut_metadata to makefile 2007-12-08 22:02:59 +00:00
Arvid Norberg 20621cae02 added magnet-uri functions and a base32 decode function 2007-12-03 06:03:16 +00:00
Arvid Norberg 1cc0118c9c supports retry for web seeds that respond with 503 2007-11-27 03:37:47 +00:00
Arvid Norberg 4d19f7ff0f storage optimization. introduced a nother allocation mode: sparse. Now there is allocate, compact and sparse. Unless compact is used, the memory structures used to keep track of pieces are no longer allocated. sparse storage mode is now the default 2007-10-08 20:01:36 +00:00
Arvid Norberg f658686d6d reverted incorrect check-in of client test 2007-10-02 19:46:14 +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 18a87916e6 fixed bug in client_test 2007-10-02 18:52:27 +00:00
Arvid Norberg 973e7be386 added router_for_interface along with a proper windows implementation. NAT-PMP support is now good on windows 2007-10-01 17:21:19 +00:00
Arvid Norberg 6fd42631c0 windows fixes for client_test 2007-10-01 17:17:49 +00:00
Arvid Norberg 09c1e0f007 client_test fix 2007-09-27 16:14:24 +00:00
Arvid Norberg 587d40e1ae updates to enum_net 2007-09-20 16:25:07 +00:00
Arvid Norberg 01c20353a4 added IP to client_test 2007-09-20 01:21:43 +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 c8088459a0 made torrent_info reference counted and held by a boost::intrusive_ptr 2007-09-01 03:00:31 +00:00
Arvid Norberg 4137c0885a fixed pausing issue introduced in the changed add_torrent 2007-08-22 18:37:20 +00:00
Arvid Norberg ee01d7bb11 added optimistic unchoke flag to client_test 2007-08-22 05:02:45 +00:00
Arvid Norberg 6c50adabfc updated piece_picker fix and added another invariant check to policy 2007-08-21 01:17:42 +00:00
Arvid Norberg 52a2df2d3f added first and last piece to dump_torrent 2007-08-03 08:43:22 +00:00
Arvid Norberg ce8acd0911 added compiler flag to disable inclusion of boost.serialization headers 2007-08-01 07:26:10 +00:00
Arvid Norberg 54aa76f940 exposed queued disk bytes in peer_info 2007-08-01 06:11:11 +00:00
Arvid Norberg 4c8c686a64 made client_test build on linux 2007-07-22 23:24:27 +00:00
Arvid Norberg 1381a008c4 added a piece bar to client_test 2007-07-09 00:00:35 +00:00
Arvid Norberg 4771f323f6 added invariant checks for peer_counter in block_info. added bytes_progress and block_size to block_info (to allow a more detail download progress display). Updated client_test to show download progress per block and also to have a separate color for 'multi blocks' (i.e. blocks that have been requested from more than one peer) 2007-07-08 20:45:42 +00:00
Arvid Norberg 9f24c6d79c added option to link against installed boost libraries instead of building from source (boost=system and boost=source, system is default). Removed dependency in boost serialization headers 2007-07-07 21:27:36 +00:00
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 fa1a37e649 updated Jamfile to support openssl on windows, added missing files to makefiles and made test_pe_crypto build when encryption is disabled 2007-06-13 01:48:24 +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 029953c5ae made the storage into a customization point. it is now interchangable for a custom implementation 2007-03-16 05:29:23 +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 df46401c9c added docs for python binding. Fixed warning in python binding. 2007-02-20 04:32:13 +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 cbf6bfe806 the torrent maker now skips hidden files 2006-12-20 23:02:41 +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 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 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 e8c43c868f updated dump_torrent examples to print DHT nodes from the torrent file 2006-09-03 19:53:19 +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 3e39b90158 updated makefiles to hopefully install the headers in the correct place. Updated docs to use boost 1.33.1 in examples. Changed libtorrent version to 0.10 and updated ChangeLog to prepare for release. 2006-06-25 00:12:18 +00:00
Arvid Norberg 903e11e458 moved the asio headers into the include directory, to have them installed when libtorrent is installed. improved the complexity of torrent_info::map_file(), It's now O(1). 2006-06-17 22:04:25 +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 11013054d6 updated simple_client example 2006-05-21 00:40:41 +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 477d5ec238 merged in differences from release branch 2005-11-18 01:12:21 +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
peerkoel d27ace98ba The examples/client_test program depends on Boost::Regex and
Boost::ProgramOptions. The configure script detects these and builds the
client_test if the necessary libs are found.
2005-10-16 19:13:54 +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 7f890239c4 Added new send buffer class to avoid unecessary copying of outgoing data. 2005-09-14 19:33:16 +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 10ea2411b3 *** empty log message *** 2005-08-17 23:04:26 +00:00
Arvid Norberg 6a09806ad4 *** empty log message *** 2005-08-17 22:59:21 +00:00
Arvid Norberg bcaf8af662 *** empty log message *** 2005-08-17 21:39:49 +00:00
peerkoel 77956fb5a6 Adding files to setup autotools.
Minor spelling fix in manual.html.
2005-08-17 00:24:41 +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
Arvid Norberg 36c62006e7 *** empty log message *** 2005-08-03 22:52:07 +00:00
Arvid Norberg 57144ea15d *** empty log message *** 2005-08-03 22:51:21 +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 7814b03370 fixed issue with creating torrents with a single file in a directory and some security issues with paths in torrents 2005-05-11 23:03:12 +00:00
Arvid Norberg 08296b7953 *** empty log message *** 2005-02-24 11:31:40 +00:00
Arvid Norberg d6015e3c63 *** empty log message *** 2005-01-11 02:13:07 +00:00
Arvid Norberg b29e378f22 *** empty log message *** 2004-11-18 22:33:50 +00:00
Arvid Norberg df281f81ae *** empty log message *** 2004-10-31 23:16:08 +00:00
Arvid Norberg 189375b761 *** empty log message *** 2004-10-31 08:20:05 +00:00
Arvid Norberg a326bc4391 *** empty log message *** 2004-10-18 10:46:55 +00:00
Arvid Norberg a8e8c715e8 *** empty log message *** 2004-10-14 01:17:04 +00:00
spyhole 8ed3a68506 spyhole test cygwin develop context 2004-10-12 23:24:46 +00:00
Arvid Norberg a997a43d30 *** empty log message *** 2004-10-10 00:42:48 +00:00
Arvid Norberg 2406d5e54d *** empty log message *** 2004-09-12 13:53:00 +00:00