Commit Graph

414 Commits

Author SHA1 Message Date
Arvid Norberg 97afe3fca8 added option to set file priorities when adding torrents 2010-07-15 01:14:36 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg 62eef91338 added setting to ignore file modification time when loading resume files 2010-04-11 21:02:43 +00:00
Arvid Norberg 247bd9256d fixed bug in fallocate usage and avoid trying to allocate and truncate files that don't need it to not update their modification time for no good reason 2010-03-06 20:09:18 +00:00
Arvid Norberg 1b2798970c support O_NOATIME on linux and use it by default 2010-02-02 19:44:52 +00:00
Arvid Norberg 5b747f58f7 add guided read cache and update tuning docs 2010-01-31 19:14:00 +00:00
Arvid Norberg da89e1b2ee indentation fix 2010-01-17 07:39:07 +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 d498c129ab clear sparse flag on files that complete on windows 2010-01-09 18:40:05 +00:00
Arvid Norberg ac8f64f5fe fixed deadlock in piece_manager 2009-12-25 16:02:45 +00:00
Arvid Norberg df2f2570c2 factor out page size function and make aligned allocator configurable to use posix_memalign and memalign 2009-12-09 01:55:30 +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 1d6d11bf0c storage fix 2009-11-28 08:58:07 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +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 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 fdb3b355ad fixed incorrect error when deleting files from a torrent where not all files have been created 2009-10-08 18:21:13 +00:00
Arvid Norberg 562450f545 more storage::hash_for_slot fixes 2009-09-05 16:32:54 +00:00
Arvid Norberg 8273d67a42 fixed bug in storage::hash_for_slot 2009-09-05 14:20:00 +00:00
Arvid Norberg bec481acdf improved disk read performance and fixed bug in storage_interface's backwards compatibility functions 2009-09-05 07:21:10 +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 6078dd06b0 removed the last dependency on iostream and lexical cast 2009-08-25 18:13:46 +00:00
Arvid Norberg 4cfc97f396 added limewire to projects page and fixed some documentation typos 2009-08-05 02:31:57 +00:00
Arvid Norberg 63368c1383 added dummy storage class to disable disk I/O and an option to disable hash checking (for performance testing and simulation) 2009-08-02 06:40:45 +00:00
Arvid Norberg ecdd7231b8 removed redundant code in disk_io_thread 2009-07-21 04:32:27 +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 b6b4e0d051 fix wpath build issue 2009-06-24 17:05:14 +00:00
Arvid Norberg 7eb7dfdf17 fixed rename_file 2009-06-24 09:09:35 +00:00
Arvid Norberg 3e3c60b1ca fixed support for non-utf8 codepages 2009-06-23 02:49:57 +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 8f47ba50f1 hash_for_slot fix 2009-06-14 22:50:35 +00:00
Arvid Norberg 62a7946968 disk stats fix 2009-06-14 22:20:23 +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 bd33814376 improve disk error handling 2009-05-31 22:41:53 +00:00
Arvid Norberg b2c5d8a563 include the piece index that failed in disk errors 2009-05-31 19:44:56 +00:00
Daniel Wallin bcfe8cbf2d Fix #ifdef typo. 2009-05-26 18:20:32 +00:00
Arvid Norberg 5fbff8e060 fixed a bug when checking a torrent twice 2009-05-23 15:58:32 +00:00
Arvid Norberg e36ea4ba5d added instrumentation for disk access. Useful to benchmark disk cache performance 2009-05-23 03:03:52 +00:00
Arvid Norberg cb9c3cb37d memory optimization for checking torrents 2009-05-21 16:15:05 +00:00
Arvid Norberg a2668d9b1b optimized memory usage when checking files fails 2009-05-16 02:25:28 +00:00
Arvid Norberg 9523d88909 made file_pool use std::map instead of multi-index, and use std::string::operator< instead of the quite inefficient filesystem::path::operator< 2009-05-09 21:11:25 +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 4421ccf11c fixed missed spot in safe_convert -> convert_to_wstring rename 2009-04-24 08:33:23 +00:00
Arvid Norberg fb5ef271cd storage fix for locale dependent filename encoding 2009-04-13 01:03:33 +00:00
Arvid Norberg c3dce7c91b fixed typo 2009-04-12 21:07:17 +00:00
Arvid Norberg 3426385226 improve error reporting for boost-1.34 and fix boost-1.34 compatibility 2009-04-12 18:04:20 +00:00
Arvid Norberg efbb3a5861 removed debug logging 2009-04-10 08:21:10 +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 6219c2e36c fixed padding file and resume data bug 2009-04-09 17:36:05 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg 3499913c59 storage compact mode resume data fix 2009-03-31 08:20:34 +00:00
Arvid Norberg c6017f9366 reverted bug introduced a few check-ins ago. Fixed case when recursive_copy fails (don't remove the original files). Cleaned up callback dispatching in disk_io_thread in trunk. Improved unit tests for move_storage 2009-03-31 08:05:46 +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 1cdfe26630 Fixed bug when moving storage with files renamed to end up outside of the rood directory. Fixes Deluge bug http://dev.deluge-torrent.org/ticket/839 2009-03-17 09:31:30 +00:00
Arvid Norberg b809028bda uses iconv by default on linux to convert filenames from utf-8 to the current locale 2009-03-01 00:02:33 +00:00
Arvid Norberg fbc6910335 fix cast issue on 64-bit platforms 2009-02-22 20:18:42 +00:00
Arvid Norberg d728af10a2 fix 64-bit cast issue 2009-02-21 18:02:12 +00:00
Arvid Norberg 13ca386838 improved support for sparse files on windows 2009-02-17 00:11:38 +00:00
Arvid Norberg 75efebac1e allocate files on unix when allocate storage mode is used 2009-02-16 00:42:44 +00:00
Arvid Norberg 9905f700ae prepare to take sparse regions into account when checking files 2009-02-14 04:31:08 +00:00
Arvid Norberg dc4d50b117 don't make files sparse when allocation mode is set on the storage (windows only) 2009-02-14 03:56:07 +00:00
Arvid Norberg 1ac8f806fa added seed mode support (lazy hash checking) 2009-02-03 07:46:24 +00:00
Arvid Norberg b3a17b1787 added disk buffer instrumentation and log parser 2009-01-23 09:13:31 +00:00
Arvid Norberg 00808473e7 factor out disk_buffer_pool from disk_io_thread. refactored the file open modes to be platform independent. gave the disk_io_thread its own copy of session_settings that it shares with storage. added an unaligned_read implementation to storage. Added options to session_settings on when to open files in unbuffered mode. Added unit tests for unaligned reads 2009-01-21 07:31:49 +00:00
Arvid Norberg ae1fa3c1b5 linux file fixes 2009-01-17 09:37:40 +00:00
Arvid Norberg 5b551c1761 merged storage::readv() and storage::writev() 2009-01-17 08:35:48 +00:00
Arvid Norberg b9d7538ba8 fixed storage to generate a proper error when the read operation 2009-01-14 03:05:35 +00:00
Arvid Norberg 0bb330225c another storage fix 2009-01-13 08:58:35 +00:00
Arvid Norberg 2a19a52465 fix incorrect buffer handling with pad files 2009-01-12 18:08:18 +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 7592ad4aee updated disk IO to support unbuffered files 2009-01-11 02:02:34 +00:00
Arvid Norberg f1d229aae6 first pass of replacing coalesce writes and reads by writev and readv (no windows support yet) 2009-01-03 08:11:31 +00:00
Arvid Norberg eb1de9d9eb fixed potential problem in storage where it sometimes checks files without first initializing 2008-12-13 03:32:57 +00:00
Arvid Norberg ef8234efc5 fixed preprocessor defines using UNICODE instead of TORRENT_USE_WPATH. Removed old boost.filesystem replacement code to support boost 1.33 2008-12-09 03:45:58 +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 357d548bb5 fixed boost.filesystem usage to not rely on deprecated functions 2008-11-21 23:38:07 +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 de93105d51 pad file fix 2008-11-16 23:33:59 +00:00
Arvid Norberg 7e4d5dc72f avoid exception from boost.filesystem 2008-11-14 23:23:02 +00:00
Arvid Norberg 40946162b3 avoid exceptions from boost.filesystem 2008-11-14 21:35:21 +00:00
Arvid Norberg 03398e94b0 replaced utf8 conversion with code from unicode.org 2008-11-13 06:39:08 +00:00
Arvid Norberg afb6b55b8f fixed typo in safe_convert call 2008-10-30 17:04:59 +00:00
Arvid Norberg d6a8c28d9c storage cleanup and truncating files that are larger than they should be 2008-10-30 06:09:23 +00:00
Arvid Norberg 829a5a9e25 removed debug output to stderr 2008-10-30 02:33:58 +00:00
Arvid Norberg 535f668c5d simplified the file interface 2008-10-19 05:03:17 +00:00
Arvid Norberg c0df461296 relaxed file timestamp requirements to work better with FAT volumes 2008-10-15 20:19:03 +00:00
Arvid Norberg ef48097421 fix for #389 2008-10-12 20:36:22 +00:00
Arvid Norberg 8e206c7d0d attempt to fix bug in storage on windows where ENOENT was not properly caught 2008-10-07 09:24:30 +00:00
Arvid Norberg 3d3a8cca6b fixed std::max usage in storage (fixes msvc build) 2008-10-07 05:53:38 +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 ba28449765 rename_file now creates missing directories before renaming 2008-09-30 23:55:45 +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 317d97b316 config fix for unicode builds on windows 2008-09-27 19:49:31 +00:00
Arvid Norberg 97f107a7fd fixed bug in verify_fast_resume. Fixes #397 2008-09-20 06:02:40 +00:00
Arvid Norberg a533bf817c properly reports disk io errors when hashing pieces. made the partial_hash.log easier to enable/disable 2008-09-16 23:32:27 +00:00
Arvid Norberg b72badd1b1 added test for checking files when some files are missing 2008-08-20 08:07:31 +00:00
Arvid Norberg 9bae670ac7 fix build with boost-1.36 2008-08-16 21:11:27 +00:00
Arvid Norberg b32aa520c2 delete_files bug fix 2008-07-20 17:38:59 +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