Commit Graph

430 Commits

Author SHA1 Message Date
Alden Torres ef9d1ecd7f fixing sign-conversion warnings, part 6 2017-01-17 20:51:26 -05:00
Arvid Norberg 3d06371f31 factor out some common storage utilities out of storage.cpp (#1515)
factor out some common storage utilities out of storage.cpp
2017-01-11 00:42:10 -05:00
Arvid Norberg 1cf3689578 simplify disk thread a little bit (#1504)
simplify disk thread a little bit
2017-01-08 19:22:59 -05:00
Steven Siloti 2ed4bee1cb remove racey assert
We arn't holding any mutex here so the fence could have already been cleared
by the disk io threads.
2017-01-07 02:54:12 -05:00
Arvid Norberg 57f52adc88 various cleanup (#1497)
* various cleanup

* fix

* cleanup
2017-01-06 01:39:01 -05:00
arvidn 41dbb47123 compact block_cache_reference by using storage_index_t instead of pointer. make sure storage object is kept alive by block_cache_references 2017-01-02 13:45:16 -05:00
arvidn e99d907c72 fix assert 2017-01-02 00:01:43 -05:00
arvidn 4ebc344e48 make disk_io_thread responsible for the storage object. torrents refer to it by index 2017-01-01 13:54:39 -05:00
arvidn 23a7e8d40a hide the block_cache_reference from disk_buffer_holder 2016-12-31 10:31:54 -05:00
Arvid Norberg af126fe507 make buffer_allocator_interface an implementation detail of the disk_io_thread (#1463)
make buffer_allocator_interface an implementation detail of the disk_io_thread by using disk_buffer_holder in the disk interface. make chained_buffer use holders instead of free deleter functions and userdata to support putting disk_buffer_holder objects in there. Also make the session buffers be held by holders
2016-12-28 17:47:18 -08:00
Andrei Kurushin 1ec5c69dcd minor code corrections (#1430)
use compact span cast. extend split_path api with only_first_part flag. use single loadlibrary and getprocaddress for IP helper
2016-12-26 22:45:48 -08:00
arvidn 192ef4962b simplify the buffer_allocator_interface 2016-12-26 08:36:50 -08:00
arvidn 5ed0086b51 removed mmap_cache feature 2016-12-25 21:12:49 -08:00
Arvid Norberg 3f1084d63d strengthened type safety in handling of piece and file indices (#1409)
strengthened type safety in handling of piece and file indices
2016-12-22 10:42:33 -05:00
Alden Torres 22b596945e enable /W4 warnings for msvc 2016-12-13 19:36:14 -05:00
Alden Torres a05f0ba8a4 refactor for more modern struct initialization and use of api 2016-12-12 02:15:27 -05:00
Alden Torres 3a92908f39 formatting, added std:: and spaces 2016-12-10 23:11:43 -05:00
Alden Torres dd7179fb10 added a few consts to arguments and local variables 2016-12-10 18:19:14 -05:00
Alden Torres 37cbdc5b37 fixing shorten-64-to-32 warnings, part 1 2016-12-05 00:22:17 -05:00
Alden Torres d5c4cd7280 fixed sign-compare warnings and some refactor (#1354)
fixed sign-compare warnings and some refactor. make sequence_number backed by std::int64_t
2016-11-27 08:46:53 -05:00
Arvid Norberg 54f052a97b allocation slot type (#1352)
use a specialized type for allocation slot indices
2016-11-26 03:09:01 -05:00
Arvid Norberg 15ab8f387b cleaning up of disk_interface and improving type safety (#1353)
cleaned up disk_interface and improved type safety. removed unused disk status code disk_check_aborted, and removed status code return value for async_hash
2016-11-26 01:51:47 -05:00
Alden Torres c30027e4a1 more integral type conversion warning fixes, now only needs shorten-64-to-32 (#1349)
more integral type conversion warning fixes, now only needs shorten-64-to-32
2016-11-25 11:17:25 -05:00
arvidn 1d5f42d6d0 convert remaining disk io jobs 2016-11-23 19:02:05 -05:00
arvidn f08501b869 update callback interface for async_check_files and async_flush_piece 2016-11-23 19:02:05 -05:00
arvidn d8662533d5 update callback signature for async_move_storage and async_release_files 2016-11-23 19:02:05 -05:00
arvidn fc9dabe1ab start chipping away at removing disk_io_job from the disk_interface 2016-11-23 19:02:05 -05:00
arvidn d5b76d2237 move block_cache_reference out of disk_io_job header 2016-11-20 10:34:42 -05:00
arvidn 5b3a730b1f steps towards removing disk_io_job from disk_interface 2016-11-20 10:34:42 -05:00
Alden Torres 9e1305ed75 auto loop, consts and minor cleanup refactor 2016-11-15 19:54:38 -05:00
arvidn 14236993ea collapse logic in piece_manager into storage directly 2016-11-13 02:53:16 -05:00
arvidn ccd539f977 pull check resume data logic out of piece_manager into disk_io_thread and simplify it 2016-11-12 18:03:18 -05:00
arvidn 11ca69b9fc simplify disk_io_thread interface by setting the number of threads via settings rather than a separate function 2016-11-06 23:07:09 -05:00
arvidn 3ff89f29d7 remove explicit ticking of storage from the torrent. instead make the disk_io_thread do it automatically 2016-11-06 10:26:10 -05:00
arvidn c72053a75c remove unused clear_read_cache function 2016-11-05 21:39:45 -04:00
arvidn 2a999e1ea7 merge RC_1_1 into master 2016-11-03 23:58:35 -04:00
Arvid Norberg f5c7a49d61 remove incorrect deleted-storages assert and add some more test coverage in test_metadata_extensions (#1286) 2016-11-03 19:39:42 -04:00
Arvid Norberg 09cbd0a51d remove deprecated disk_io_thread operations (#1284) 2016-11-02 01:01:27 -04:00
Arvid Norberg b61ebca14a moved async-load-torrent feature out of disk-io-thread (#1282)
moved async-load-torrent feature out of disk-io-thread into a generic worker thread
2016-11-02 01:01:04 -04:00
Arvid Norberg 1c2a8fb96e move coalescing of reclaim block from disk_io_thread to session_impl (#1281) 2016-10-31 23:48:30 -04:00
Arvid Norberg 8daa200d11 simplify interaction with disk_io_thread by removing the uncork interface (#1271)
simplify the interaction with the disk_io_thread by removing the uncork interface. This should be turned into a transparent part of peer_connection instead and remove cork logic from peer_connection
2016-10-30 18:21:07 -04:00
arvidn b97bb84a9f merge RC_1_1 into master 2016-10-29 14:25:57 -04:00
Arvid Norberg d1a59879cb deprecate mmap_cache (#1269)
deprecated mmap_cache feature
2016-10-29 13:42:42 -04:00
Alden Torres dac0b9ec64 more use of nullptr, minor refactor and formatting (#1267) 2016-10-28 12:28:27 -04:00
arvidn 500bb24dba merged RC_1_1 into master 2016-10-26 23:30:58 -04:00
Steven Siloti f5366bd816 use span for scatter/gather lists (#1260)
use span for gather/scatter buffers. remove explicit size parameter from file_op
2016-10-26 20:40:56 -04:00
Alden Torres 6751a1eeb1 removed spaces in template types and more c++11 auto/loop refactor 2016-10-26 00:08:00 -04:00
Alden Torres 4eebd0c68a minor refactor, compilation fix when DEBUG_DISK_THREAD and missing convert_to_native (#1256) 2016-10-25 20:46:23 -04:00
Steven Siloti cf7db392b6 assert that offset didn't change while hashing 2016-10-25 07:59:02 -04:00
Steven Siloti f36b9a805a avoid concurrent access to hash offset
Since partial_hash::offset is not an atomic it is technically UD to access it
concurrently from multiple threads.
2016-10-25 07:59:02 -04:00