Commit Graph

1106 Commits

Author SHA1 Message Date
Arvid Norberg 0dbef9103a some reordering and asserts around web seed name resolution 2010-10-30 07:11:04 +00:00
Arvid Norberg 0d196d3c84 document the problem of the disk cache potentially modifying files after saving resume data. In trunk, add a flag to flush the cache in the same call as saving resume data 2010-10-29 02:21:43 +00:00
Arvid Norberg fc1b44b560 improve error reporting of lazy_bdecode to use error_code 2010-10-28 04:01:59 +00:00
Arvid Norberg d737dd051d added support for chunked encoding for web seeds 2010-10-27 06:39:18 +00:00
Arvid Norberg 4968192654 revert bad change to &downloaded= tracker announce semantics 2010-10-26 16:39:20 +00:00
Arvid Norberg eba657d8ad reports redundant downloads to tracker, fixed downloaded calculation to be more stable when not including redundant. Improved redundant data accounting to be more accurate 2010-10-18 00:10:33 +00:00
Arvid Norberg 643a49f022 optimized session/torrent startup time (shaved off about 2 seconds) 2010-10-17 18:36:37 +00:00
Arvid Norberg 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +00:00
Arvid Norberg bd1f0726ce fix const issue 2010-10-12 09:01:51 +00:00
Arvid Norberg 7bd25edc9d generalize SSL support to also include web seeds (and in theory regular peers) 2010-10-12 08:57:43 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 21cbd1fac4 deprecated setters for max connections, max half-open, upload and download rates and unchoke slots. These are now set through session_settings 2010-10-09 19:09:38 +00:00
Arvid Norberg 440abdfaf2 optimistic unchoke fix 2010-10-04 04:06:14 +00:00
Arvid Norberg f11b1ce6a0 fixed failing invariant check in peer_connection's download queue 2010-10-03 22:06:53 +00:00
Arvid Norberg 8e4addf2c5 improved set_max_connections to immediately disconnect peers to match the new limit 2010-10-03 10:07:38 +00:00
Arvid Norberg a7c87e14dd added functions to query an individual peer's upload and download limit 2010-10-01 16:09:22 +00:00
Arvid Norberg a1567458ca seeding torrents should not send event=paused 2010-09-24 15:52:40 +00:00
Arvid Norberg fc0916d450 fixed logging build 2010-09-22 16:59:28 +00:00
Arvid Norberg 3fb9fcab9e full support for bep-21 (event=paused) 2010-09-06 04:02:15 +00:00
Arvid Norberg b6f92aa981 added initial support for share-mode 2010-09-05 16:01:36 +00:00
Arvid Norberg a8cc326df6 minor redundant connection fixes 2010-09-05 04:31:13 +00:00
Arvid Norberg a17f4e4e71 fixed bug where event=completed would not be sent if it violated the min-interval 2010-09-01 03:14:12 +00:00
Arvid Norberg fb8ebc53dd save resume data every 15 minutes no matter what 2010-08-25 06:38:04 +00:00
Arvid Norberg b747cdab8a merged all proxy settings into a single one 2010-08-23 06:27:18 +00:00
Arvid Norberg 2736a3b7ff fixed file checking bug 2010-08-23 05:51:12 +00:00
Arvid Norberg ad07883228 use the same logic to post resume data failed messages as to determine whether to do a full check or not 2010-08-19 16:10:31 +00:00
Arvid Norberg a85f1f5c61 improved logging 2010-08-18 17:14:40 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +00:00
Arvid Norberg 0c7b5ab3da fix to tracker announce code 2010-07-17 23:32:17 +00:00
Arvid Norberg 0dd925ef14 fixed bug in network interface bind code from multi-home support patch 2010-07-17 18:32:06 +00:00
Arvid Norberg 64682072d8 save last_download,last_upload and last_scrape states 2010-07-17 07:25:28 +00:00
Arvid Norberg 1e70456f58 improved support for multi-homed clients 2010-07-17 07:13:14 +00:00
Arvid Norberg 4c6be42b74 added feature to not count downloaded bytes from web seeds in stats 2010-07-15 06:27:44 +00:00
Arvid Norberg aa25ed00c6 fix force-reannounce and tracker retry issue 2010-07-15 05:16:06 +00:00
Arvid Norberg 97afe3fca8 added option to set file priorities when adding torrents 2010-07-15 01:14:36 +00:00
Arvid Norberg 4e576f93fd removed the session mutex for improved performance 2010-07-14 04:16:38 +00:00
Arvid Norberg 3310198dae added upload and download activity timer stats for torrents 2010-07-08 19:29:38 +00:00
Arvid Norberg 06190d8920 fixed bug in web_peer_connection which could cause a hang when downloading from web servers 2010-06-22 18:09:04 +00:00
Arvid Norberg 19df3dbc2f fixed bug where local peer discovery and DHT wouldn't be announced to without trackers 2010-06-17 17:01:28 +00:00
Arvid Norberg e4ef0b853e don't reannounce on failure when shutting down 2010-05-23 21:27:04 +00:00
Arvid Norberg 39a166844e fixed issue where trackers wouldn't tried immediately when the previous one failed 2010-05-17 02:06:30 +00:00
Arvid Norberg ef0abcb359 move need_save_resume_data to when a piece is completed instead of when it's written to disk 2010-05-16 23:12:37 +00:00
Arvid Norberg 2e34bef04c spell correction 2010-05-06 23:56:54 +00:00
Arvid Norberg feaf4aa082 another attempt to fix tracker timer bug. Fixes issue where the tracker timer would be triggered repeatedly. Fixes bug where trackers loaded from resume data would get a fail limit of 3 (now they don't have a limit) 2010-05-03 08:24:30 +00:00
Arvid Norberg cc3c515458 more vs10 build fixes 2010-05-02 06:29:52 +00:00
Arvid Norberg 1f44ec75a0 fixed bug in add_piece() that would trigger asserts 2010-05-01 17:47:28 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg 2705859bb4 fixed bug where trackers wouldn't be retried if they failed 2010-04-27 18:22:59 +00:00
Arvid Norberg d1addf876a added some asserts 2010-04-24 19:24:27 +00:00
Arvid Norberg d7c30bc01b fixed potential issue where a piece could be checked twice 2010-04-22 01:53:09 +00:00
Arvid Norberg 50c334660d fixed typo in should_check_files() 2010-04-15 14:31:49 +00:00
Arvid Norberg 9a5f5562cb improve web seed connection handling 2010-04-14 06:22:00 +00:00
Arvid Norberg eeda665d06 report tracker errors in the tracker list 2010-04-13 04:37:39 +00:00
Arvid Norberg 384bfdec48 added anonymous mode to disable some particular features that might give away the user's and the client's identity 2010-04-13 04:30:34 +00:00
Arvid Norberg 8e3c5f45e3 initialize need save resume data to true to get the initial state (potentially allocated files) saved 2010-04-13 02:29:13 +00:00
Arvid Norberg b5efe1c92a added feature to ask a torrent if it needs to save its resume data or not 2010-04-12 00:36:31 +00:00
Arvid Norberg 4c4c7f832a fix for torrent announcing bug introduced when supporting fine grained control over sources torrents are announced to 2010-03-31 02:40:00 +00:00
Arvid Norberg 7e851818b1 support more fine-grained torrent states between which peer sources it announces too 2010-03-29 00:34:04 +00:00
Arvid Norberg 8724b89499 never finalize pad files 2010-03-21 18:19:59 +00:00
Arvid Norberg 126ba1fd34 fixed issue with sign extend from 24 bits to 32 bits 2010-03-21 18:15:04 +00:00
Arvid Norberg 6c42e759c3 removed incorrect assert 2010-03-21 18:09:34 +00:00
Arvid Norberg d1df643baf msvc8 build fix 2010-03-21 17:41:17 +00:00
Arvid Norberg 686fc1a1c7 windows fixes 2010-03-21 02:13:56 +00:00
Arvid Norberg 786172455b added save resume action to client_test. potential small optimization in resume data save function 2010-03-20 22:00:13 +00:00
Arvid Norberg 9435e84644 precaution: clear current_tracker in torrent::status() 2010-03-20 00:52:36 +00:00
Arvid Norberg 5224e0c340 complete_ago extension 2010-03-19 18:39:51 +00:00
Arvid Norberg 0db27ab9b6 fixed typo 2010-03-09 21:57:20 +00:00
Arvid Norberg a3bff512e1 added 'added' and 'completed' time to torrent_status 2010-03-09 03:21:35 +00:00
Arvid Norberg 723c59b6e8 fixed incorrect merge 2010-03-08 02:06:30 +00:00
Arvid Norberg d18b1612e4 more asserts to try to catch crash in disconnect_peers 2010-03-08 01:54:56 +00:00
Arvid Norberg d4854024db added flags to torrent::status() that can filter which values are calculated 2010-03-04 19:15:23 +00:00
Arvid Norberg fb06acc828 add default peer rate limit setting 2010-03-03 01:31:31 +00:00
Arvid Norberg e8523a3ad4 fixed issue with 0-sized torrents and verify_piece assert 2010-03-02 07:08:29 +00:00
Arvid Norberg aa5fc72fbf made tracker errors use error_code 2010-02-23 21:53:45 +00:00
Arvid Norberg eff49e42a7 added support for torrents with odd piece sizes 2010-02-23 16:26:24 +00:00
Arvid Norberg 210c663596 fixed error handling with torrents with invalid piece sizes 2010-02-22 01:51:25 +00:00
Arvid Norberg 59deff7a44 fixed issue with disk read cache not being cleared when removing torrents 2010-02-21 08:52:26 +00:00
Arvid Norberg 04d31cea6e support option to report redundant bytes or not to tracker as well as 'corrupt' argument 2010-02-18 06:45:07 +00:00
Arvid Norberg 9197081618 announce edge case fixes 2010-02-18 03:53:16 +00:00
Arvid Norberg 69e0249317 don't lookup country for local IPs 2010-02-15 07:52:32 +00:00
Arvid Norberg 08c8bfae29 more wide character and mingw fixes 2010-02-15 05:49:10 +00:00
Arvid Norberg c050b22d8f optimized memory usage for torrent objects 2010-02-14 01:39:55 +00:00
Arvid Norberg b12b3ff105 simplified web seed logic 2010-02-12 06:10:20 +00:00
Arvid Norberg 0816ff69c6 fixed streaming bug 2010-02-09 07:52:17 +00:00
Arvid Norberg d019833043 fixed finished_time bug 2010-02-09 04:42:32 +00:00
Arvid Norberg 7e343a9d6f add size logging to various classes 2010-02-08 04:51:34 +00:00
Arvid Norberg bb9426b97c post read_piece messages as a result of set_piece_deadline if a piece is found during checking 2010-02-06 07:31:43 +00:00
Arvid Norberg 088f4bf700 improved LSD performance and made the interval configurable 2010-02-05 08:23:17 +00:00
Arvid Norberg fc310ffde1 fixed add_piece() 2010-02-01 00:44:31 +00:00
Arvid Norberg 82b49b541e fixed crash when adding pieces to seeds 2010-01-27 06:06:57 +00:00
Arvid Norberg 942c4e0a7c fixed torrent_deleted_alert to not dead-lock 2010-01-23 22:42:48 +00:00
Arvid Norberg 45cd9fe407 ignore paused and automanaged from metadata for magnet links 2010-01-18 23:44:05 +00:00
Arvid Norberg d959331c1e renamed some torrent check queue related functions to be more descriptive 2010-01-17 21:42:14 +00:00
Arvid Norberg c9b594fde1 support sending suggest messages based on what's in the read cache. support 'explicit read cache' 2010-01-15 16:45:42 +00:00
Arvid Norberg 18454d6344 replace trackers from resume data instead of adding them. 2010-01-10 03:02:46 +00:00
Arvid Norberg 85951208e4 added support for explicitly flushing the disk cache 2010-01-09 21:17:52 +00:00
Arvid Norberg d498c129ab clear sparse flag on files that complete on windows 2010-01-09 18:40:05 +00:00
Arvid Norberg cbf2526a8c added stats_alert reporting raw transfer stats per torrent every second 2010-01-02 14:16:35 +00:00
Arvid Norberg 0350e86867 fixed web seed unit test 2009-12-29 17:49:24 +00:00
Arvid Norberg d157af5305 build fixes 2009-12-28 20:59:34 +00:00
Arvid Norberg cdf459dad5 only keep one outstanding duplicate request per peer 2009-12-25 16:52:57 +00:00
Arvid Norberg 0fc90b5655 fixed support for min-interval on tracker failures 2009-12-21 09:47:32 +00:00
Arvid Norberg cebcbc3eeb fixed force reannounce bug with min_interval support 2009-12-13 16:36:45 +00:00
Arvid Norberg 6aa9d5fa52 more logging 2009-12-07 05:03:23 +00:00
Arvid Norberg a6ed83e7fe add load_state/save_state to python bindings and made them build 2009-12-05 07:24:22 +00:00
Arvid Norberg ff2063651b build fixes 2009-12-03 17:44:11 +00:00
Arvid Norberg 1e654220fa added support for min_interval 2009-12-02 04:05:24 +00:00
Arvid Norberg ea1043a293 fix crash in force_recheck for torrents with no metadata 2009-11-29 17:57:42 +00:00
Arvid Norberg 1f5859d31f error_code fix. added is_error_code_enum template specialization and using the abbreviated syntax to build error_codes 2009-11-29 07:06:38 +00:00
Arvid Norberg 39d14146e7 dynamic_cast fix 2009-11-27 21:04:26 +00:00
Arvid Norberg 8dd244581d header optimizations 2009-11-26 05:45:43 +00:00
Arvid Norberg 18e5d67967 protect file_priority functions from being called on torrents without metadata 2009-11-26 00:09:49 +00:00
Arvid Norberg 2280454a99 support upload-only extension message 2009-11-24 18:49:59 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 603e719117 save and restore the super-seed state of torrents 2009-11-18 17:40:38 +00:00
Arvid Norberg d9671d05b5 fixed uninitialized member in torrent 2009-11-18 08:39:15 +00:00
Arvid Norberg e43340c961 made it possible to build without RTTI 2009-11-02 20:43:38 +00:00
Arvid Norberg 70df388e6c removed one iostream dependency 2009-10-28 19:55:20 +00:00
Arvid Norberg c418165e07 replaced boost.filesystem with custom functions (improves efficiency and drops unnecessary dependencies and improves libtorrent portability) 2009-10-26 01:29:39 +00:00
Arvid Norberg 6c137d6ef6 announces torrents immediately to the DHT when it's started 2009-10-25 02:37:45 +00:00
Arvid Norberg 8a5b7d5d36 got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones). 2009-10-20 02:49:56 +00:00
Arvid Norberg ea1761838a added torrent_status::finished_time 2009-09-30 17:21:59 +00:00
Arvid Norberg 9b15c11740 don't send stats to trackers received through tracker exchange 2009-09-25 18:17:59 +00:00
Arvid Norberg 7e430d5a2a resume data alerts are always posted, regardless of alert mask 2009-09-23 18:44:21 +00:00
Arvid Norberg 35bca49c61 add torrent priority to adjust bandwidth allocation of torrent's peers 2009-09-13 02:24:25 +00:00
Arvid Norberg 8e068cb801 fixed interger overflow bug 2009-09-09 17:59:01 +00:00
Arvid Norberg d168a709a2 promote an assert to expensive invariant checks only 2009-09-09 16:34:50 +00:00
Arvid Norberg d69d615be4 fixed bug where web seeds would not disconnect if being resolved when the torrent was paused 2009-09-07 06:17:22 +00:00
Arvid Norberg 3e9725b5d7 made peer_blocked_alert derive from torrent_alert 2009-09-07 01:47:30 +00:00
Arvid Norberg 6d01cb475c msvc build fixes 2009-09-06 00:57:01 +00:00
Georg Rudoy ce16f9848c Fix build with MSVS (use const_iterator where non-const one is not needed). 2009-09-01 13:36:30 +00:00
Arvid Norberg 1f5a722b01 improved sun studio support (it seems to lack a lot of stl) 2009-08-30 07:38:52 +00:00
Arvid Norberg 1e45b85c34 fixed incorrect assert in torrent::we_have 2009-08-26 02:42:42 +00:00
Arvid Norberg 45fd696bc6 added I2P support 2009-08-20 03:19:12 +00:00
Arvid Norberg 13967086aa added and removed some comments 2009-08-08 15:23:12 +00:00
Arvid Norberg 78a6df0b2a connect candidate fix 2009-08-01 22:48:43 +00:00
Arvid Norberg 137d2d63f5 cleaned up policy. Moved logic from policy to torrent 2009-07-23 04:38:52 +00:00
Arvid Norberg ae3be201c4 reduced the number of floating point operations to better support systems with no FPU 2009-07-19 04:59:27 +00:00
Arvid Norberg e2b8434361 simplified should_announce_dht slightly 2009-07-18 16:50:56 +00:00
Arvid Norberg 944b1a7d57 fixed inversed seed_time ratio logic 2009-07-18 07:16:20 +00:00
Arvid Norberg 93e204223d removed debug printouts 2009-07-04 05:06:50 +00:00
Arvid Norberg 51992dda6a added new alert when individual files complete 2009-07-04 04:58:24 +00:00
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 e9bd8f6e1f turned fast-resume errors into error_codes. fixed typo in documentation 2009-06-28 00:36:41 +00:00
Arvid Norberg 44ace0b86b fixed resume data compatibility with 0.13 2009-06-27 21:47:30 +00:00
Arvid Norberg cc3e6621ed fixed rename_file() bug where the new name would not be saved in the resume data in some cases 2009-06-22 00:52:57 +00:00
Arvid Norberg 306b75e6b1 boost 1.35 fixes 2009-06-19 16:42:33 +00:00
Arvid Norberg f09774607f added upload mode 2009-06-18 22:32:55 +00:00
Arvid Norberg 6b048dc85e fixed bug in connect candidate counter 2009-06-18 16:16:41 +00:00
Arvid Norberg 2c34e0aa18 only write operations should trigger piece_picker::write_failed 2009-06-13 17:40:18 +00:00
Arvid Norberg 07bcb3545a converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes 2009-06-12 16:40:38 +00:00
Arvid Norberg 5e87420b6f set all piece priorities to 0 when a write fails 2009-06-10 09:20:55 +00:00
Arvid Norberg 6b908e5f3f fixed compile warnings 2009-06-10 08:42:05 +00:00
Arvid Norberg f0134c1b11 improved disk error handling and expanded use of error_code in error reporting 2009-06-10 08:30:55 +00:00
Arvid Norberg 4554e06837 fixed bug when setting unlimited upload or download rates for torrents 2009-06-09 19:33:18 +00:00
Arvid Norberg e438a3ccfc more boost-1.34.1 fixes 2009-06-03 07:46:50 +00:00
Arvid Norberg bd33814376 improve disk error handling 2009-05-31 22:41:53 +00:00
Arvid Norberg c695729bbe fixed bug when force-checking a torrent with partial pieces 2009-05-25 20:31:20 +00:00
Arvid Norberg efb6ec5824 fixed expensive-invariant-checks build 2009-05-25 17:23:03 +00:00
Arvid Norberg aa02e36327 retry web seeds when name lookup fails instead of discarding them 2009-05-25 07:04:14 +00:00
Arvid Norberg 30c704523c caches the time every 100 ms and use the cache where high resolution timer is not needed 2009-05-25 02:45:51 +00:00
Arvid Norberg e3c07c0934 converted some recursive mutexes to regular ones 2009-05-23 21:36:09 +00:00
Arvid Norberg 5fbff8e060 fixed a bug when checking a torrent twice 2009-05-23 15:58:32 +00:00
Arvid Norberg 11e97842da changed the optimistic disconnect implementation to be slightly more efficient 2009-05-22 06:27:47 +00:00
Arvid Norberg a51dfa50f5 renamed peer_from_tracker to add_peer 2009-05-15 22:07:19 +00:00
Arvid Norberg 437cb94fd0 improved IPv6 support by announcing twice when necessary 2009-05-15 21:23:41 +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 92f42eb23c fixed move_stororage to handle the case where it fails 2009-05-11 21:18:09 +00:00
Arvid Norberg d0d2328288 fixed indentation 2009-05-07 06:47:19 +00:00
Arvid Norberg 838df44184 documented file_rename_failed_alert and file_renamed_alert. they were previously not documented. Fixed bug where the storage would be left in an error state (and eventually pause the torrent) when a rename_file() failed. The error is now only reported back through the alert 2009-05-07 06:41:41 +00:00
Arvid Norberg c8176cca55 optimized peer storage in resume data an in memory. Should use far less memory than previously for the peer list. Introduced peer source affinity, to avoid problem with a peer list that's diluted with stale peers 2009-05-06 22:36:24 +00:00
Arvid Norberg ff3db926fb allocates 10 disk buffers at a time instead of 32. Fixed bug where connection candidates would be too high 2009-05-06 07:06:26 +00:00
Arvid Norberg 641abc6c4a slight memory optimization and some header cleanup 2009-05-03 20:21:24 +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 84dda7b617 support for adjusting the socket buffer sizes through session_settings 2009-05-01 04:59:15 +00:00
Arvid Norberg 3cf34e3a91 greatly optimised memory usage for peer list 2009-04-30 05:49:46 +00:00
Arvid Norberg 5fc239bd23 ignore empty strings when passed as a tracker url to the torrent constructor 2009-04-26 19:16:55 +00:00
Arvid Norberg 3ecbcc8fe7 filters trackers with empty url fields 2009-04-26 08:05:42 +00:00
Arvid Norberg 86a3bf3e07 fixed assert when adding a torrent with resume data and immediately setting all piece priorities to 0 2009-04-26 07:31:26 +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 9ea68dbb9c fixed bug where an asio exception could be thrown when resolving peer countries 2009-04-24 17:29:57 +00:00
Andrew Resch 4137f47386 Do not set an error when pausing a checking torrent 2009-04-19 19:49:33 +00:00
Arvid Norberg 6a11d6ee4e IPv6 tracker fix 2009-04-12 00:37:06 +00:00
Arvid Norberg a051228069 fixed bug in storage when forcing recheck while renaming a file or moving it 2009-04-10 07:22:27 +00:00
Arvid Norberg 2bb1772299 time_duration fix (works with boost.date-time again) 2009-04-06 17:12:14 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg d4e08cd37f generate partial resume data for torrents that haven't been checked 2009-03-27 18:40:05 +00:00
Arvid Norberg 643be6c44b fixed issue where renamed files would sometimes not be saved in the resume data 2009-03-22 22:21:48 +00:00
Arvid Norberg 1ed7e222f8 added documentation to explain how paused and auto_managed are overridden by resume_data. Added a mechanism to trunk to ignore the resume data for those two settings. Updated documentation in trunk to include more fields in the resume data. Fixed broken links in the trunk docs 2009-03-21 04:33:53 +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 b25a8db2a6 added more error codes. consolidated exception classes into one. moved over more places to use error_code instead of strings. fixed proper error handling for torrent_info 2009-02-23 01:21:19 +00:00
Arvid Norberg 658b7309d3 fixed issue where web peers would be connected before files were checked 2009-02-22 20:19:58 +00:00
Arvid Norberg 3187bd9905 moved some errors over to use error_code 2009-02-13 19:01:02 +00:00
Arvid Norberg 2f5604f3c0 removed duplicate code 2009-02-10 08:55:39 +00:00
Arvid Norberg 2c68654994 fixed bug where mapped files were not restored properly from the resume data. Fixes #483 2009-02-09 06:19:31 +00:00
Arvid Norberg fe714b4b89 fixed torrent checking race condition 2009-02-09 02:04:43 +00:00
Arvid Norberg ba0f894c7c avoid adding a torrent to the checking queue twice 2009-02-08 01:29:09 +00:00
Arvid Norberg c0d43b8110 resume data errors should always be logged, regardless of the alert being active 2009-02-08 00:05:27 +00:00
Arvid Norberg 7744718b44 added error message to invalid_torrent_file exception (will be replaced by error_code at some point) 2009-02-07 19:18:48 +00:00
Arvid Norberg cf55883d0f read_resume_data fix 2009-02-07 06:12:32 +00:00
Arvid Norberg 532a5f477d fixed checking files issue 2009-02-03 17:35:41 +00:00
Arvid Norberg 1ac8f806fa added seed mode support (lazy hash checking) 2009-02-03 07:46:24 +00:00
Arvid Norberg 2623037482 local peers are excempt from unchoke slots. #469 2009-01-28 06:14:21 +00:00
Arvid Norberg 0ba2e2cdbd fixed issue where torrents that failed checking would not resume checking when the error was cleared. One side effect of this fix is that it should now be possible to pause checking torrents with the 0.14 branch 2009-01-27 09:18:51 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 8030454c96 fixes problem whith lexical_cast being locale dependent 2009-01-27 06:17:55 +00:00
Arvid Norberg fe94f17835 fixed assert in torrent::bytes_done() 2009-01-24 18:11:06 +00:00
Arvid Norberg b3a17b1787 added disk buffer instrumentation and log parser 2009-01-23 09:13:31 +00:00
Arvid Norberg f722731799 fixed division by zero when loading an empty torrent 2009-01-19 10:05:48 +00:00
Arvid Norberg cc86f78aa5 fixed assert 2009-01-19 09:52:08 +00:00
Arvid Norberg 8aa43b682b listen port cleanup 2009-01-19 08:31:31 +00:00
Arvid Norberg c8a784a513 added invariant check in on_piece_checked to narrow down #472 2009-01-17 19:00:09 +00:00
Arvid Norberg 13ceee7a55 fixed boost-1.34 compatibility 2009-01-17 18:47:35 +00:00
Arvid Norberg 97d8685066 pad file support fix 2009-01-15 18:52:41 +00:00
Arvid Norberg 66ccc9d23f improved support for padding files by not counting them in total_wanted_done and total_wanted or progress 2009-01-14 07:41:25 +00:00
Arvid Norberg b3999c8ac0 minor bytes_done fix 2009-01-12 02:22:11 +00:00
Arvid Norberg 1ac4b29aa9 fix invariant check failure 2009-01-07 10:09:25 +00:00
Arvid Norberg d07ccaf6b8 workaround for sparse files issue on Windows vista 2009-01-05 01:08:09 +00:00
Arvid Norberg a14421bde5 return if torrent is aborted in files checked 2009-01-02 09:47:51 +00:00
Arvid Norberg 06da1f8e8a added some session logging. added more disk-io-thread stats logging and parse script 2008-12-30 08:20:25 +00:00
Arvid Norberg e5d3755afb added support for http seeds (BEP 17) 2008-12-30 03:54:07 +00:00
Arvid Norberg b81ae19e86 fix uninitialized variable read (next_announce) 2008-12-27 07:22:57 +00:00
Arvid Norberg 952ed687cd made session stats config build 2008-12-26 07:00:21 +00:00
Arvid Norberg 6f80fdf9f7 fix bug when renaming files and using the web_peer_connection. Deprecated non-const file_storage access in torrent_info 2008-12-24 20:07:34 +00:00
Arvid Norberg 4bd0d2d2e6 added resolver cancellation to http_connection and udp_socket. might prevent potential shutdown stalls 2008-12-20 18:27:09 +00:00
Arvid Norberg b47f965c85 added torrent_handle::read_piece(). #441 2008-12-14 19:47:02 +00:00
Arvid Norberg 9c5c0418ba fixed tracker prioritization bug 2008-12-12 10:00:20 +00:00
Arvid Norberg 2a9353cf48 prefer udp trackers. Fixes #433 2008-12-08 09:13:21 +00:00
Arvid Norberg b41cdd6469 initial super seeding support 2008-12-08 06:36:22 +00:00
Arvid Norberg 14c142d997 added add_piece() to inject data from external sources 2008-12-07 21:04:19 +00:00
Arvid Norberg 70f4303d92 added tracker IP to tracker_response callback and added filtering of local IPs in pex and tracker responses. #409 2008-12-01 08:48:54 +00:00
Arvid Norberg 4b738fca7a added previous state to state_changed_alert. #401 2008-12-01 00:19:05 +00:00
Arvid Norberg 09b3a865ef fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define 2008-11-29 21:33:21 +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 1b686a1364 m_currently_trying_tracker cleanup 2008-11-27 20:48:29 +00:00
Arvid Norberg 3fd5405fa9 torrent_handle::add_tracker() 2008-11-26 01:42:14 +00:00
Arvid Norberg 294e62a4c3 current_tracker now also indicates which tracker is being tried. fixes #404 2008-11-26 01:31:54 +00:00
Arvid Norberg 73907913d7 force recheck assert fix 2008-11-24 19:18:53 +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 ce24a17308 minor checking torrent fix 2008-11-18 11:03:19 +00:00
Arvid Norberg 57c22bb214 complete support for pausing checking torrents 2008-11-18 11:01:30 +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 c3bbf138a4 estimate TCP/IP overhead more accurately 2008-11-14 20:51:49 +00:00
Arvid Norberg 4578f3426c assert fix 2008-11-12 22:24:55 +00:00
Arvid Norberg 43a2db0b20 fix for recent move of torrent::start into the libtorrent thread 2008-11-12 03:30:19 +00:00
Arvid Norberg dd26371c0a indentation fix 2008-11-10 04:17:16 +00:00
Arvid Norberg 19c66a1826 exception fixes 2008-11-05 05:39:18 +00:00
Arvid Norberg 4dada930ac made torrents not wanting more peers whene they're shutting down. Closes out all connections in the connection queue explicitly when session is shutting down 2008-10-30 17:13:10 +00:00
Arvid Norberg 65c4b7ec13 fix for when removing a torrent when it is in the checking state 2008-10-26 09:23:00 +00:00
Arvid Norberg 392dbb71da more fixes to avoid unwanted exceptions 2008-10-23 04:10:23 +00:00
Arvid Norberg 41d5abf0d8 exception related fixes. Avoiding functions that may throw in places where exceptions shouldn't be thrown 2008-10-21 08:45:42 +00:00
Arvid Norberg cfe029d58f updated seed rank to lower priority for finished, but not seeding torrents 2008-10-19 08:05:36 +00:00
Arvid Norberg 3d75732145 changed variant_stream to return a pointer instead of a reference when querying for underlying type (avoids exceptions) 2008-10-18 07:12:04 +00:00
Arvid Norberg c04183d960 cleaned up save_resume_data 2008-10-17 01:56:36 +00:00
Arvid Norberg 16d56eaee6 clears torrent stats when paused 2008-10-15 17:31:20 +00:00
Arvid Norberg cb1fce0d62 fix to immediately unchoke another peer if an unchoked peer is disconnected 2008-10-14 01:00:05 +00:00
Arvid Norberg 3144767632 fixed buffer overrun when calling get_download_queue 2008-10-05 07:23:46 +00:00
Arvid Norberg d4c5d5835a another state fix where mutliple torrent_finished_alerts could be generated 2008-10-05 04:44:29 +00:00
Arvid Norberg 8f665e949f fixed rare bug where a torrent could be put back into downloading state when finishing checking files if it already finished by then 2008-10-05 01:44:57 +00:00
Arvid Norberg d4c206841b added support for bitcomet padding files. simplified storage read/write code. 2008-10-03 05:49:41 +00:00
Arvid Norberg ef42e8f77c fixed rename_file to work when the file hasn't been created yet. Fixed error reporting when rename_file fails. Updates the file in the torrent_handle when filename is updated 2008-09-30 23:37:42 +00:00
Arvid Norberg 8989699e1e fixed invariant check when pausing a torrent 2008-09-27 04:58:40 +00:00
Arvid Norberg d4e0ea6c1e added assert to make sure #365 doesn't happen 2008-09-25 22:08:18 +00:00
Arvid Norberg bb674134e3 fixed bind_port for outgoing peer connections 2008-09-25 07:40:55 +00:00
Arvid Norberg 80e9e8d1cf changed torrent::set_metadata() to reduce code duplication in metadata extensions. Exposed torrent_handle::set_metadata() to the public interface 2008-09-24 02:32:33 +00:00
Arvid Norberg df5e261ce8 fixed resume data loading for paused state 2008-09-24 02:29:24 +00:00
Arvid Norberg 2e0d0046d2 made torrent::replace_trackers() start or stop announcing depending on if trackers were added or cleared 2008-09-24 02:22:12 +00:00
Arvid Norberg a36da15c29 saves sequential download in fastresume data 2008-09-23 03:52:49 +00:00
Arvid Norberg c0c65d8ee6 fixed bug in read_fast_resume regarding auto_managed flag 2008-09-23 03:21:35 +00:00
Arvid Norberg 791a1f4365 saves trackers and web seeds in fastresume data. Fixes #369 2008-09-22 17:39:18 +00:00
Arvid Norberg 8ffc345308 fixed crash when add_torrent was fed with invalid resume data 2008-09-21 02:08:04 +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 064d93b935 optimization for files with prioritiy 0 2008-09-19 19:46:04 +00:00
Arvid Norberg f14e76a3f9 fixed typo in previous iterator fix 2008-09-18 17:53:44 +00:00
Arvid Norberg cd1301b1c9 fix for invalid iterators when changing piece priorities causes peers to disconnect 2008-09-17 23:14:59 +00:00
Arvid Norberg c087c363be removed left over from debugging 2008-09-09 19:47:31 +00:00
Arvid Norberg 41808f8742 big change to improve piece picker. Better end-game mode. More options on which pieces to pick. 2008-09-06 21:04:57 +00:00
Arvid Norberg aedc92cb24 fix to announce with DHT for torrents without metadata 2008-08-29 22:58:47 +00:00
Arvid Norberg 92ed7fb364 fixed metadata extension issues 2008-08-29 17:21:56 +00:00
Arvid Norberg 9c59d1a308 fixed bug in last check-in 2008-08-27 15:29:42 +00:00
Arvid Norberg e2ae0a97e2 fix for tracker-less torrents (they didn't announce with the tracker) 2008-08-27 15:15:41 +00:00
Arvid Norberg af62dc1417 fixed crash when calling force_recheck on seeding torrent 2008-08-26 21:35:33 +00:00
Arvid Norberg e9045cc1df fixes bug where priorities where lost when force-rechecking. 2008-08-25 22:32:50 +00:00
Arvid Norberg e58485822b optimized encryption 2008-08-20 23:05:12 +00:00
Arvid Norberg 0454fb77d7 fixed bug where is_sequential_download would return false when it should be true 2008-08-19 16:04:01 +00:00
Arvid Norberg a134908bac fixed warnings and uninitialized variable 2008-08-19 14:53:50 +00:00
Arvid Norberg 9266afe5f5 fixed bug where a torrent would not get into the 'finished' state right after file checking. It would either go to downloading or seeding. Also added test_transfer 2008-08-18 20:02:50 +00:00
Arvid Norberg 7d6a895d1b makes all tracker requests 'stopped' when aborting 2008-08-11 14:31:58 +00:00
Arvid Norberg 9cd95fb52c fix to invariant check 2008-08-10 15:00:56 +00:00
Arvid Norberg 56ae82be2c made the invariant check more strict 2008-08-10 10:22:36 +00:00
Arvid Norberg 54a5dd4af4 added invariant check for file-checking queue consistency 2008-08-10 09:34:39 +00:00
Arvid Norberg 10c0956a2f removed redundant IP filter check 2008-08-03 23:04:38 +00:00
Arvid Norberg 7d47ed54eb removed connecting_to_tracker state 2008-08-03 15:32:15 +00:00
Arvid Norberg 18b14e56df made the minimum announce interval configurable 2008-08-01 22:34:37 +00:00
Arvid Norberg b5467845d7 fixed assert in file_progress and build issue when built with expensive invariant checks 2008-07-30 08:52:39 +00:00
Arvid Norberg c605c8021f added file priority functions 2008-07-20 16:00:08 +00:00
Arvid Norberg 8c91fff1d6 saves torrent settings in resume data (up/down rate limits, max connections, upload slots, paused state, auto managed, piece priorities, renamed files) 2008-07-19 11:12:40 +00:00
Arvid Norberg 8f1455919a disable announce timers when paused 2008-07-18 22:57:49 +00:00
Arvid Norberg 21dff61cb5 clears read cache when paused. Saves memory 2008-07-18 15:31:22 +00:00
Arvid Norberg 429a118dd2 keep track of interest more tightly. better support for upload_only 2008-07-18 10:03:42 +00:00
Arvid Norberg e5c8b7c00a fixed issue when trying to announce to tracker for tracker-less torrents 2008-07-14 13:09:07 +00:00
Arvid Norberg 72b99059e7 optimized policy::peer 2008-07-14 11:15:35 +00:00
Arvid Norberg cf9ce06df3 fix logging build 2008-07-13 20:53:21 +00:00
Arvid Norberg d88acd3d95 file_progress fix 2008-07-13 16:44:14 +00:00
Arvid Norberg 8fd33d65f1 file_progress fix 2008-07-13 07:58:32 +00:00
Arvid Norberg 1ed583011c made the invariant checks cheaper and more useful. The full invariant checks are still available as an option 2008-07-12 17:51:59 +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 9bf25d1006 changed the definition of file_progress and deprecated the old function. Python bindings only exposes the new one 2008-07-12 13:38:22 +00:00
Arvid Norberg c5af2c2eaf moved tracker announces into a timer instead of polling every second. Added state to properly send complete, started and stopped events 2008-07-12 08:25:19 +00:00
Arvid Norberg 2435c5f19b increased accuracy of file_progress down to bytes (from 16kB blocks) 2008-07-11 14:10:33 +00:00
Arvid Norberg 96ca475652 added redundant and failed byte counters to session 2008-07-11 07:30:04 +00:00
Arvid Norberg 06f3ad65e8 fix to file_progress improvement 2008-07-09 15:23:42 +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 5c749bcb3c added base class for peer_alerts and turned more alerts into peer_alerts with more information about the peer that generated it 2008-07-08 09:30:10 +00:00
Arvid Norberg f7042ca84a improved piece timeout and peer snubbing logic 2008-07-07 12:04:06 +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 722e9e95e3 frees resume data when done with it 2008-07-02 21:23:02 +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 d396ab7b17 added pause and resume to the session. Fixes #349 2008-06-29 19:08:30 +00:00
cg25 ff3e80c42f Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
trunk.
2008-06-25 14:15:21 +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 92f13aea68 start torrents sooner after they complete checking 2008-06-23 18:56:55 +00:00
Arvid Norberg 87660b96c5 renamed announce_piece to piece_passed and moved it to piece_finished and piece_failed 2008-06-23 18:54:58 +00:00
Arvid Norberg 9447693202 storage fastresume fix 2008-06-23 18:31:52 +00:00
Arvid Norberg c210b11b80 better fix for failing pieces 2008-06-23 14:45:01 +00:00
Arvid Norberg 6db1b54304 simplified policy and optimized case when a piece fails hash check 2008-06-22 20:28:03 +00:00
Arvid Norberg a60b6f9e96 fixed bug in set_queue_position. Fixes #353 2008-06-21 15:51:03 +00:00
Arvid Norberg d2bde64e71 makes sure a torrent doesn't have too many pieces than can be handled. Fixes #61 2008-06-19 11:28:34 +00:00
Arvid Norberg 9c94f54868 fixes for torrents with smaller pieces than 16kB 2008-06-18 12:34:39 +00:00
Arvid Norberg 77c13d73f6 fixed assert in set_queue_position 2008-06-17 16:49:55 +00:00
Arvid Norberg 24b24aff4e force recheck fixes. Fixes #350 2008-06-17 14:56:22 +00:00
Arvid Norberg 6c24bd0774 moves force checked torrents to the end of the queue. Fixes #350 2008-06-16 22:27:14 +00:00
Arvid Norberg 3e000a3984 fixed save path updates when moving torrents. Fixes #310 2008-06-15 20:52:46 +00:00
Andrew Resch 933e3c8b54 Fixes for set_queue_position() 2008-06-11 12:14:10 +00:00
Arvid Norberg 6e69480176 disk_io_thread fixes. Properly destructs torrent objects while disk io mutex is not locked. Properly flushes disk cache when closing, and aborting read and file check jobs. Fixes #334 2008-06-09 04:46:34 +00:00
Arvid Norberg efcd69b009 fixed set_queue_position() for seeding (or finished) torrents 2008-06-08 13:47:35 +00:00
Andrew Resch 3ea075f169 Add torrent_resumed alert 2008-06-08 05:14:40 +00:00
Arvid Norberg a1857f9699 added force_recheck to torrent_handle. Fixes #120 2008-06-07 16:24:56 +00:00
Arvid Norberg 9f5fa96cad fixed bug related to m_have_piece optimization. Renamed num_pieces() to num_have() to avoid confusion 2008-06-07 14:03:21 +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 bcc24bf831 added has_incoming to torrent_status per #315 2008-06-05 18:19:03 +00:00
Arvid Norberg 5d268424b2 update auto managed torrents sooner when changes are made 2008-06-03 20:21:47 +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 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +00:00
Arvid Norberg 68c31e48dc replaced vector<bool> with a custom bitfield type 2008-05-28 02:35:02 +00:00
Arvid Norberg 4338140c85 added test and fixed total_wanted issue for files > 2 GB 2008-05-27 08:07:59 +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