Commit Graph

383 Commits

Author SHA1 Message Date
Arvid Norberg 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +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 777954ab3e automatically scrape auto managed torrents to keep track of downloader/seed ratio 2008-05-19 04:06:25 +00:00
Arvid Norberg 0ed87e4c59 updated python binding to match the recently changed torrent_info. reintroduced add_node 2008-05-15 07:37:34 +00:00
Arvid Norberg fb154e91f8 added documentation for wait_for_alert 2008-05-15 00:45:01 +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 149fa28586 added constructor to torrent_info that loads a file directly 2008-05-12 06:35:24 +00:00
Arvid Norberg 971ead4a44 made redundant connction closing optional (defaults to on) 2008-05-12 06:25:53 +00:00
Arvid Norberg 9429ca4b1f replaced seed cycles with seed rank 2008-05-06 18:03:41 +00:00
Arvid Norberg c043d4b21d initial support for queuing 2008-04-24 03:28:48 +00:00
Arvid Norberg 7a432786e7 added url to tracker alerts. introduced a base class for all tracker alerts 2008-04-23 01:54:21 +00:00
Arvid Norberg 9a434a919f some more ASNum additions 2008-04-22 00:05:23 +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 6b3ac0be2a documentation fixes 2008-04-07 00:15:36 +00:00
Arvid Norberg e8f2ee8b37 removed supports_sparse_files documentation since it's not in libtorrent anymore 2008-04-07 00:09:10 +00:00
Arvid Norberg d10205057e port mapping update 2008-04-06 23:18:35 +00:00
Arvid Norberg 2e6b9c2dce revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp} 2008-04-06 19:17:58 +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 ce89b00c18 documented list_peers and list_seeds 2008-03-30 15:48:45 +00:00
Arvid Norberg 45a7329d5c added alert for when the client's external IP is received 2008-03-29 22:45:55 +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 8132c6aad6 added option to control TOS byte in peer traffic 2008-03-12 16:58:23 +00:00
Arvid Norberg 1402c3b266 fixed typo in docs and regenerated html files 2008-03-01 18:26:15 +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 69d2fc5a7b added documentation for session_settings options 2008-02-27 17:47:34 +00:00
Arvid Norberg a25c25b02a fixed windows build and removed msvc warnings 2008-02-25 10:28:53 +00:00
Arvid Norberg ef9ef674d5 added read cache. Not fully configurable yet 2008-02-22 04:11:04 +00:00
Arvid Norberg c9b53ddf8c allow negative and zero values for session_settings::connection_speed 2008-02-11 03:55:53 +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 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 f6b82e438a added more documentation 2008-01-10 22:44:53 +00:00
Arvid Norberg 3a727e99ff expose more info through peer_info 2008-01-10 22:13:23 +00:00
Arvid Norberg 4420473b88 made send buffer watermark configurable 2008-01-08 01:16:30 +00:00
Arvid Norberg e05f396a5d made UPnP ignore devices that don't respond from a router IP (optional but on by default) 2008-01-07 05:48:28 +00:00
Arvid Norberg 1d6e0f5bf6 bandwidth request block size optimization 2008-01-07 04:47:20 +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 769d8aefe2 first version of 'part file' support. Can currently only be set when starting torrent 2007-11-25 10:47:05 +00:00
Arvid Norberg e3158c3107 fixed typo in docs. Fixes #213 2007-11-25 08:38:25 +00:00
Arvid Norberg e931ee54f6 updated plugin documentation 2007-11-24 21:13:19 +00:00
Arvid Norberg 463eb47011 updated documentation 2007-11-24 20:48:51 +00:00
Arvid Norberg 81ce2e7890 reverted [1760] and added documentation for downloading_metadata 2007-11-24 04:19:21 +00:00
Arvid Norberg af4d200c55 documented free_torrent_hashes 2007-11-24 03:37:05 +00:00
Arvid Norberg 02a18fcdf6 documented scrape and force_reannounce 2007-11-24 03:10:20 +00:00
Arvid Norberg 8a08aac15e hack to fix rst document 2007-11-24 02:31:34 +00:00
Arvid Norberg 4665b94279 updated docs to include the delete_files option to remove_torrent 2007-11-23 22:45:59 +00:00
Arvid Norberg 7ac43da2ed updated documentation regarding storage_interface 2007-11-22 09:27:22 +00:00
Arvid Norberg cf6740e996 updated write_resume_data docs 2007-11-20 10:00:49 +00:00
Arvid Norberg 94d9f09d8a updated documentation for add_torrent 2007-11-20 07:54:51 +00:00
Arvid Norberg ee5ce50502 made max half open connections default to 8 on windows and added query function for that limit on session. 2007-09-10 01:57:40 +00:00
Arvid Norberg 1a1c060ba3 fixed doc typos 2007-08-25 20:01:53 +00:00
Arvid Norberg c8cb121587 updated torrent_info::remap_files docs 2007-08-25 19:57:32 +00:00
Arvid Norberg 2b0197e810 initial fix to enable mapping files in torrents to other files on disk. see torrent_info::remap_files 2007-08-25 18:26:43 +00:00
Arvid Norberg 57f369f1b4 updated docs for torrent_status 2007-08-23 17:34:59 +00:00
Arvid Norberg 5acf0901ec explained session_status::num_peers in greater detail 2007-08-22 17:49:29 +00:00
Arvid Norberg 744d96796b made it possible to start torrents in paused state. updated documentation 2007-08-22 05:31:42 +00:00
Arvid Norberg c70223ff38 added url seed related functions to torrent_handle 2007-08-17 16:40:55 +00:00
Arvid Norberg a3e66a3efe made the piece picker handle multi-request blocks better. fixes problem that might occur at the end of a torrent where the piece picker could take over blocks back and forth 2007-07-06 17:15:35 +00:00
Arvid Norberg b75a69cd47 added alerts for synchronizing disk io when pausing and moving storage 2007-06-11 21:24:14 +00:00
Arvid Norberg 6ff2d8accf udpated docs and fixed python binding issues 2007-06-11 03:28:07 +00:00
Arvid Norberg 36031f82ed updated peer_info documentation 2007-06-09 01:06:10 +00:00
Arvid Norberg 273f8bd921 merged back encryption branch to trunk 2007-06-06 00:41:20 +00:00
Arvid Norberg bb25fceb3f added documentation for socks4 proxy 2007-05-31 20:52:20 +00:00
Arvid Norberg 7e540a8d53 made inactivity time-out configurable 2007-05-31 19:57:15 +00:00
Arvid Norberg 3e4ee68e66 added missing documentation of stop_tracker_timeout in session_settings 2007-05-23 01:08:57 +00:00
Arvid Norberg 9f902e7b9f the DHT now refreshes buckets properly. 2007-05-12 01:52:25 +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 d1aec0a180 updated docs 2007-04-29 22:36:28 +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 db657af26d fixed typo 2007-04-26 00:40:27 +00:00
Arvid Norberg d41d2ecd14 documentation fixes and additions to proxy docs 2007-04-26 00:35:28 +00:00
Arvid Norberg 72e6069dcf added proxy documentation 2007-04-25 23:38:25 +00:00
Arvid Norberg af779b6349 factored out the test for sparse files support 2007-04-18 00:36:09 +00:00
Arvid Norberg 16e17f066c first stab at sparse files support 2007-04-17 21:54: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 24d749e9c9 documented the alert dispatcher mechanism 2007-04-15 18:34:39 +00:00
Arvid Norberg 40804a829b failcount is reset on a peer that successfully connects. documented max_failcount and min_reconnect_time. implemented seed optimization for piece_picker (inc_refcount_all and dec_refcount_all), ticket #17 2007-04-15 02:14:02 +00:00
Arvid Norberg 1254e140f7 updated docs with regard to recent implementation of distributed copies 2007-04-12 10:25:10 +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 4ceb6a02ea added download_limit and upload_limit functions to torrent_handle 2007-04-10 09:25:17 +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 b247f280b4 bumped version number of docs 2007-03-31 22:11:43 +00:00
Arvid Norberg 5a921506c4 fixed broken link in docs 2007-03-24 18:46:27 +00:00
Arvid Norberg 71c069ea33 removed executable flag from documentation 2007-03-20 23:27:42 +00:00
Arvid Norberg 776b399a97 added api for piece priorities 2007-03-20 01:59:00 +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 118e1cf00d added alerts for reporting nat-pmp status 2007-03-16 08:25:08 +00:00
Arvid Norberg de69453826 merged fixes from RC_0_12 branch 2007-03-16 07:59:04 +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 6f0a0beadb fix to allow hostnames for peers in tracker responses 2007-03-07 18:50:38 +00:00
Arvid Norberg b17710df09 improved error reporting on http seed failures 2007-03-06 23:56:17 +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 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 7344c4823b added num_connections, num_uploads, upload_rate_limit and download_rate_limit. Added building from cvs section. 2007-01-03 11:42:10 +00:00
Arvid Norberg 8ab5ba2cf5 updated user agent documentation 2006-12-22 16:51:19 +00:00
Arvid Norberg 7fa3d899a1 updated extension documentation 2006-12-04 12:15:49 +00:00
Arvid Norberg d62801280f doc updates and started adding documentation for new plugin interface 2006-11-27 00:04:20 +00:00
Arvid Norberg 01f1d01d58 improved logging, fixed option to allow multiple connections from the same IP 2006-11-15 21:39:58 +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 4d94c7574c added default constructor to session_proxy 2006-10-15 13:46:52 +00:00
Arvid Norberg 6727dfaed7 added warning to torrent_handle 2006-10-14 17:18:41 +00:00
Arvid Norberg 892268aef4 updated changelog and added 0.11 release point 2006-10-14 08:15:57 +00:00
Arvid Norberg c84e96898b added workaround for incorrectly encoded paths in torrent files 2006-10-12 23:51:10 +00:00
Arvid Norberg f1457fd33e added signature to session::abort() 2006-10-11 22:03:24 +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 362f700906 fixed integer overflow bug occuring when building with gcc 4.1.x. updated the projects page, removed dead code from allocate_resources. 2006-09-25 22:37:48 +00:00
Arvid Norberg fe0d570f05 completed IPv6 support in ip_filter and updated test_ip_filter and documentation. Documented recently added extensions to DHT. 2006-09-23 21:24:28 +00:00
Arvid Norberg dc2e25141c changed sequencial download threshold api, it is now per torrent 2006-09-04 23:22:21 +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 35c6fc413c fixed Jamfile. updated docs with some recent changes. 2006-09-02 07:33:01 +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 3f38ae9ef1 split the documentation up a bit 2006-08-28 00:36:00 +00:00
Arvid Norberg 99391c9b90 updated build documentation and moopolice link 2006-08-27 18:29:49 +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 5018c5a987 clarified the logging functionality 2006-07-16 01:59:15 +00:00
Arvid Norberg 8d31bf442a fixed incorrect sorting of pieces in piece_picker 2006-07-16 00:08:50 +00:00
Arvid Norberg 8c6869b4f2 fixed the issue with the timer waiting for tracker requests when quitting, reported by Tianhao Qiu 2006-07-12 22:55:06 +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 044afc850d added a projects page (listing some projects using libtorrent), including some screenshots thumbnails. Regenterated some docs, with new stylesheet. 2006-06-19 23:26:38 +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 7126544fad fixed documentation typos 2006-05-21 10:41:37 +00:00
Arvid Norberg 44f21d0fdf fixed crashing bug when destructing session 2006-05-21 09:46:01 +00:00
Arvid Norberg 11013054d6 updated simple_client example 2006-05-21 00:40:41 +00:00
Arvid Norberg 377be0fe21 documented the http_settings -> session_settings change 2006-05-20 23:58:09 +00:00
Arvid Norberg d891214358 *** empty log message *** 2006-05-20 17:59:17 +00:00
Arvid Norberg 262e97f21d updated to latest version of asio. fixed a problem with low resolution timers in the second_tick code found by Massaroddel. 2006-05-20 15:30:40 +00:00
Arvid Norberg 6f08cf84f0 fixed typo 2006-05-14 22:46:19 +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 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +00:00
Arvid Norberg b440974269 fixed typo in docs 2006-01-24 00:47:27 +00:00
Arvid Norberg 9d12136854 updated more sample code in manual 2005-11-21 22:47:15 +00:00
Arvid Norberg 282b06a9a5 fixed typo in example code 2005-11-21 22:36:27 +00:00
Michael Wojciechowski a515bc2bfb Added short note about building on FBSD. 2005-11-21 20:47:36 +00:00