Commit Graph

390 Commits

Author SHA1 Message Date
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
Arvid Norberg 21dff61cb5 clears read cache when paused. Saves memory 2008-07-18 15:31:22 +00:00
Arvid Norberg db4001e406 fixed file checking bug where the files on disk wouldn't even be inspected 2008-07-18 13:51:26 +00:00
Arvid Norberg 3cb1369385 improved error reporting of file errors (uses boost.system's error_code). Now permission errors are properly reported when checking files 2008-07-17 23:41:46 +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
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 9447693202 storage fastresume fix 2008-06-23 18:31:52 +00:00
Arvid Norberg 811d0a6250 storage fast resume check fix 2008-06-22 23:41:03 +00:00
Arvid Norberg 3e000a3984 fixed save path updates when moving torrents. Fixes #310 2008-06-15 20:52:46 +00:00
Arvid Norberg d47ec46e76 storage wpath fix (for unicode) 2008-06-12 04:52:37 +00:00
Arvid Norberg 59c8a74ba8 in case a regular rename fails, try to copy the storage to the new location. Fixes #231 2008-06-05 16:56:39 +00:00
Arvid Norberg 4709d202e1 fixed unicode issue in storage 2008-06-04 07:57:07 +00:00
Arvid Norberg 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +00:00
Arvid Norberg ed3cf2bb54 fixed typo 2008-05-15 16:57:35 +00:00
Arvid Norberg 8909aeaadc attempt to fix removal of files on windows with unicode (to fix #216) 2008-05-15 16:38:04 +00:00
Arvid Norberg 91d6099a55 fixed issue with torrents with 0 pieces. Fixes #306 2008-05-15 02:29:26 +00:00
Arvid Norberg d15573ecc2 disk receive buffer cleanup 2008-05-05 06:25:22 +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 d4cfa126aa storage fixes 2008-04-12 22:08:07 +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 5f35d170b0 disk io thread cleanup (all read operations are now read into disk buffers, no custom buffers) 2008-04-10 09:11:54 +00:00
Arvid Norberg 642768bc24 storage cleanup 2008-04-09 01:11:16 +00:00
Arvid Norberg f40eba34a8 exception fixes in storage 2008-04-07 01:45:33 +00:00
Arvid Norberg 35fd9aec61 msvc build fixes and warning fixes 2008-04-05 21:18:27 +00:00
Arvid Norberg 95f1601aa2 storage fix 2008-03-31 03:26:37 +00:00
Arvid Norberg d5d450b483 storage fix 2008-03-25 04:45:46 +00:00
Arvid Norberg 5860ca8706 previous checkin was a mistake 2008-03-25 04:44:30 +00:00
Arvid Norberg b6be33b5b6 storage fix 2008-03-25 04:38:59 +00:00
Arvid Norberg 9eeb3cea9d fast resume data check fix 2008-03-16 18:24:57 +00:00
Arvid Norberg e5072b80f5 fixed file checking bug in trunk 2008-03-16 12:42:59 +00:00
Arvid Norberg 2cfbfd203f made tests build and pass in trunk. fixed issues in trunk revealed by the tests. fixed failing torrent invariant check in trunk and rc0.13 2008-03-14 10:17:27 +00:00
Arvid Norberg f53cfa7eeb removed checker thread 2008-03-08 06:06:31 +00:00
Arvid Norberg a25c25b02a fixed windows build and removed msvc warnings 2008-02-25 10:28:53 +00:00
Arvid Norberg 8a14f829b4 removed debug output 2008-02-25 08:42:13 +00:00
Arvid Norberg c1c2fb4409 resume data unit test and fix 2008-02-25 05:07:29 +00:00
Arvid Norberg 9f44c577d7 updated file_win and file_pool error handling 2008-02-25 04:41:21 +00:00
Arvid Norberg 682a5f85f9 fixed crash bug in storage 2008-02-22 06:09:30 +00:00
Arvid Norberg 333839c9b4 piece picker update 2008-02-18 03:07:14 +00:00
Arvid Norberg 7e83c3fc51 changed storage interface to not require exceptions 2008-02-14 03:48:20 +00:00
Arvid Norberg 388949014f handles (ignores) errors when allocating files 2008-01-11 20:04:38 +00:00
Arvid Norberg 1d6e0f5bf6 bandwidth request block size optimization 2008-01-07 04:47:20 +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 50eb3c62c8 fixed typo from [1728] 2007-11-16 19:38:58 +00:00
Arvid Norberg 2ea9fb2851 improved error handling when deleting files 2007-11-16 19:04:43 +00:00
Arvid Norberg 0439399169 replaced std::vector with buffer 2007-10-30 17:30:49 +00:00
Arvid Norberg eea82821d2 fixed missing initialization in piece_manager 2007-10-30 06:50:08 +00:00
Arvid Norberg 31e5716b03 fixed #186 and added a better test 2007-10-21 00:19:37 +00:00
Arvid Norberg db133610e1 fixes #182 2007-10-13 07:54:18 +00:00
Arvid Norberg 59c7f5bfbb added option to delete files from disk as a torrent is removed 2007-10-13 03:33:33 +00:00
Arvid Norberg 0681d3fd61 fixed another fast resume bug 2007-10-09 07:26:57 +00:00
Arvid Norberg ffe2e75882 added another alert to cover all cases where the torrent has to be checked at start, and tell the user why. Fixed a problem with the resume data generation introduced in last storage check-in 2007-10-09 00:25:01 +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 a8a74c3513 fixes files that were left open in write mode by mistake 2007-10-07 01:29:38 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg c9267431b9 fixed bug in storage 2007-10-03 18:27:07 +00:00
Arvid Norberg b48948e231 changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage 2007-09-29 16:14:03 +00:00
Arvid Norberg fd3da79c6c fixed problems introduced in previous debugging session 2007-09-20 01:03:31 +00:00
Arvid Norberg e4265d1a56 removed debug output from previous check-in 2007-09-20 00:33:40 +00:00
Arvid Norberg 338eedf961 added storage assert, fixed policy assert 2007-09-19 19:55:11 +00:00
Arvid Norberg 9364a2d01d added priority to disk io jobs 2007-09-16 01:34:06 +00:00
Arvid Norberg 94f5b93d21 made it possible to pass in custom buffers to piece_manager::async_read, increased the maximum buffer size on bottled http_requests 2007-09-11 17:45:20 +00:00
unsh 214dfa9427 made storage.cpp build on FreeBSD, updated Makefile.am 2007-09-10 13:46:08 +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 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 7f43389f56 removed unused class from storage 2007-08-25 14:51:42 +00:00
Arvid Norberg b05500570c added parenthesis around std::min and std::max for msvc compatibility 2007-08-16 22:14:17 +00:00
Arvid Norberg 11b63bc93e storage fix 2007-08-10 02:04:26 +00:00
Arvid Norberg b3e29ba8fa added freebsd to the linux path for detecting sparse files support 2007-08-08 23:08:55 +00:00
Arvid Norberg 61f713d24a fixed #107 2007-08-07 07:19:35 +00:00
Arvid Norberg 8387240b31 more asserts, piece_picker fixes, debug-iterator fixes 2007-08-03 06:13:26 +00:00
Arvid Norberg 245793b7a3 applied patch in #79 2007-07-15 05:34:28 +00:00
Arvid Norberg 5e08a9b379 added reiser4 as having sparse files support and improved detection on mac 2007-07-09 23:29:58 +00:00
Arvid Norberg 7e7686b44f fixed typo 2007-06-18 17:15:33 +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 07c8d1242e windows unicode fixes when using boost-1.34 and fix for test_swarm when building without encryption support 2007-06-11 19:01:25 +00:00
Arvid Norberg 3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg 08965f331c removed debug output from storage 2007-06-01 23:27:49 +00:00
Arvid Norberg aea4e503c5 more storage state machine fixes, added test to storage unit test and fix in file::set_size 2007-05-31 23:35:48 +00:00
Arvid Norberg 8f4c460587 fixes to storage state machine 2007-05-31 21:48:36 +00:00
Arvid Norberg 5f7dd474e9 fixes to storage full allocation mode 2007-05-30 22:23:17 +00:00
Arvid Norberg 71fe036b78 removed leftover debug print 2007-05-24 19:00:28 +00:00
Arvid Norberg 510966f2a5 fixed fast resume data bug when using full allocation mode, and moved parts of resume data generation to the storage 2007-05-24 18:53:55 +00:00
Arvid Norberg e9601080bb introduced swap_slots and swap_slots3 on storage_interface. All reads that needs it, should now be EOF safe (when using sparse files). 2007-05-16 01:16:08 +00:00
Arvid Norberg bf25aa0d1c allocate slots bug fix in storage. Introduced with sparse files 2007-05-13 00:25:29 +00:00
Arvid Norberg 734305f78d small modification to linux path for discover sparse files support 2007-05-12 21:21:59 +00:00
Arvid Norberg d95ddde3f2 more storage fixes for problems related to sparse files support 2007-05-09 20:16:18 +00:00
Arvid Norberg 4956639171 piece picker optimization 2007-05-08 11:13:13 +00:00
Arvid Norberg c39462c125 fixed another sparse files related bug in storage 2007-05-04 03:28:42 +00:00
Arvid Norberg 13bcb48dba fixed warnings and removed unused variables 2007-05-02 18:45:29 +00:00
Arvid Norberg 233cd373e8 fixed issue with sparse files and compact allocation. added move_slot() to the storage abstraction 2007-04-30 01:06:29 +00:00
Arvid Norberg 219db47776 fixed boost version test in storage 2007-04-19 16:22:13 +00:00
Arvid Norberg 172205d7fb improvements and fixes to sparse files support. made the test pass again 2007-04-19 03:32:20 +00:00
Arvid Norberg 92cf13c2c2 sparse files fixes. now sets the size of the files in case sparse files are supported 2007-04-19 03:06:15 +00:00
Arvid Norberg 9551e68074 fixes in file_win and removed debugging output from storage 2007-04-18 20:00:58 +00:00
Arvid Norberg 88d6f7a4c9 added character-set build feature (only effective on windows). Made storage build with win32/unicode and newer versions of boost. optimized allocate_slots 2007-04-18 19:12:30 +00:00
Arvid Norberg 4c8e8470cd storage fix for unicode on windows 2007-04-18 16:48:24 +00:00
Arvid Norberg c639399b84 fixed typo in windows code 2007-04-18 00:48:31 +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 d88ffcc0e4 removed some more unecessary boost.date_time dependencies 2007-04-10 07:52:58 +00:00
Arvid Norberg 7a30b397f8 made test_storage build and fixed bug introduced when storage was turned into a customization point 2007-04-02 05:46:19 +00:00
Arvid Norberg c9fac1efa0 storage did not properly skip incomplete files when doing full checks 2007-03-30 20:22:07 +00:00
Arvid Norberg 72fd437ff0 moved the resume data verification to the storage, since the storage may map the files differently. The creation of resume data should probably also be moved there 2007-03-27 23:49:05 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +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 bb0b8c9d95 improved unit test for storage, modified move_storage to hopefully fix a bug. updated Changelog. 2007-02-25 21:11:29 +00:00
Arvid Norberg 10068634f8 fix for typo in previous checkin 2007-02-25 09:44:08 +00:00
Arvid Norberg 7888b72e12 fix for crashes when stopping or restarting DHT 2007-02-25 09:42:43 +00:00
Arvid Norberg de37f48179 fixed bug where multi-file torrents with just a single file in left directories after storage::move_storage was called 2007-02-21 22:49:01 +00:00
Arvid Norberg 4f86042b97 bandwidth management fix + improved string conversion fallback in case strings are incorrect in torrent 2007-02-19 23:06:20 +00:00
Arvid Norberg 0019e9a2fb fixed illegal iterator dereference 2007-02-05 17:10:34 +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 247b8ae443 removed temporary assert and factored file_pool out of storage to prepare for a per session file pool 2006-11-14 13:36: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 80dc56d388 fixed crashing bug when removing torrents while checking 2006-09-24 11:22:25 +00:00
Arvid Norberg 87eb377b17 fixed incorrect asserts in storage (that were triggered by torrent with zero-size files). Fixed bug in resource distribution algorithm. Made an attempt to avoid an assert in msvc standard library caused by passing a non-printable character to isdigit(). 2006-08-10 19:18:11 +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 4403eac97b fixed bugs reported by Massaroddel. Tracker request peer-count could be incorrect. Empty files were not created in full allocation mode. 2006-07-08 19:41:39 +00:00
Arvid Norberg db4ca12c02 fixed a full-check bug in storage. Changed the asio includes to avoid require boost.regex headers 2006-06-24 14:15:11 +00:00
Arvid Norberg 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +00:00
Arvid Norberg 01820e5579 more patches in order to get it to build on vc7 2006-01-08 22:55:02 +00:00
Arvid Norberg bad06d0c4e fixed adl usage to work with vc7 and removed inclusion of lambda header, to make it build in vc7 2006-01-07 15:41:20 +00:00
Arvid Norberg 3f36dd0395 added the ability to build libtorrent as a shared library. Fixed bugs with deleting of incomplete types (replaced auto_ptr with scoped_ptr). Made the string converter fall back on windows local code page if utf-8 decoding failed. 2005-11-01 18:30:39 +00:00
Arvid Norberg 9d426441f1 more fixes for the windows file_size function 2005-10-17 21:09:42 +00:00