Commit Graph

341 Commits

Author SHA1 Message Date
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
Arvid Norberg c84a71c1ad *** empty log message *** 2005-10-17 21:00:57 +00:00
Arvid Norberg ac2c1fba0c fixed incorrect function name 2005-10-17 20:58:37 +00:00
Arvid Norberg 51052fa2b1 fixed incorrect assert in file_win.cpp, added windows-unicode function for file_size 2005-10-17 20:37:40 +00:00
Arvid Norberg d3996ccfb9 added metadata_failed_alert and allcoating torrent state 2005-10-17 13:45:53 +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 189a8756ee big change in the way storage is checked. The checker thread can now check the fastresume data of a new torrent without waiting for a currently checking one 2005-10-13 07:59:05 +00:00
Arvid Norberg 6d66566298 fixed problem with file pool when files were opened with 0 as info hash and attempted to close with the correct one. the info hash is no longer used as the key in the file pool. Also updated Makefile.am to include the buffer.hpp and .cpp and to include the storage unit test 2005-09-28 21:46:35 +00:00
Arvid Norberg f824714b0e added a test for storage and fixed a bug in piece checking 2005-09-11 09:48:05 +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 df4466cb86 made it build on cygwin 2005-08-18 11:20:17 +00:00
Arvid Norberg 6d8068e5d5 *** empty log message *** 2005-08-16 20:42:10 +00:00
Arvid Norberg 6c32f82fc5 *** empty log message *** 2005-08-16 20:18:11 +00:00
Arvid Norberg 2582c47cd8 *** empty log message *** 2005-08-16 19:35:14 +00:00
Arvid Norberg 5df5773479 better unicode support on windows 2005-08-16 19:09:06 +00:00
Arvid Norberg fb3f1624cf better unicode support on windows 2005-08-16 19:06:25 +00:00
Arvid Norberg 0dde64e8f2 updated docs, added an attempt for better unicode support on windows 2005-08-16 18:39:38 +00:00
Arvid Norberg d19c2c6483 removed olf workarounds for vc6.5 and added documentation for building with autotools 2005-08-15 18:03:57 +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 f7c90b8511 *** empty log message *** 2005-08-12 12:40:58 +00:00
Arvid Norberg 845eee234f *** empty log message *** 2005-06-30 21:38:28 +00:00
Arvid Norberg 6fb43fe3f3 storage fix 2005-06-30 12:59:23 +00:00
Arvid Norberg 4807fe6a46 *** empty log message *** 2005-06-27 23:11:09 +00:00
Arvid Norberg 0efa042414 made the file pool global instead of local per torrent 2005-06-27 22:04:34 +00:00
Arvid Norberg 0320e097d6 *** empty log message *** 2005-06-16 15:41:04 +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 9707b6aeb0 added support for non-compact storage layout. i.e. all the files are allocated on disk before downloading starts 2005-05-13 00:39:39 +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 6ff7e76ab2 *** empty log message *** 2005-03-19 12:22:40 +00:00
Arvid Norberg 78a1ef3cd9 fixed an incorrect assert that was hit when having empty files in a torrent 2005-03-12 10:12:36 +00:00
Arvid Norberg 727dc803a3 *** empty log message *** 2005-03-10 11:26:55 +00:00
Arvid Norberg a5c91f683a *** empty log message *** 2005-03-05 14:17:17 +00:00
Arvid Norberg 999754ee23 *** empty log message *** 2005-03-04 23:45:16 +00:00
Arvid Norberg 77597b360d *** empty log message *** 2005-03-03 00:40:44 +00:00
Arvid Norberg d0b9fe8778 *** empty log message *** 2005-01-14 14:10:38 +00:00
Arvid Norberg b55a1a6766 *** empty log message *** 2004-12-21 12:30:09 +00:00
Arvid Norberg b29e378f22 *** empty log message *** 2004-11-18 22:33:50 +00:00
Arvid Norberg a326bc4391 *** empty log message *** 2004-10-18 10:46:55 +00:00
Arvid Norberg 40a88434b1 *** empty log message *** 2004-10-18 10:36:47 +00:00
Arvid Norberg a997a43d30 *** empty log message *** 2004-10-10 00:42:48 +00:00
Arvid Norberg 922a591154 *** empty log message *** 2004-09-16 17:18:10 +00:00
Arvid Norberg a282a51c4d *** empty log message *** 2004-09-16 12:12:36 +00:00
Arvid Norberg 579d63f49d *** empty log message *** 2004-09-16 01:14:16 +00:00
Arvid Norberg 2406d5e54d *** empty log message *** 2004-09-12 13:53:00 +00:00
Arvid Norberg 8b4928d280 *** empty log message *** 2004-08-16 21:55:31 +00:00
Magnus Jonsson 09c761331b typo 2004-08-01 19:20:39 +00:00
Magnus Jonsson 71b2ea7afd added checks before fs::create_directory in move_storage in storage.cpp 2004-08-01 19:17:38 +00:00
Arvid Norberg 59123c793b *** empty log message *** 2004-07-18 11:40:22 +00:00
Arvid Norberg 1148a5574c *** empty log message *** 2004-07-18 00:39:58 +00:00
Arvid Norberg f70bd8ac97 added a metadata extension. i.e. torrent-less downloads 2004-06-13 23:30:42 +00:00