Arvid Norberg
a4267d61e7
fix overflow in sliding_average in the case of very high download rates
2018-10-03 00:53:05 +02:00
arvidn
2ba0e5ae2c
move the file priority vector throught the disk_io_job, to avoid copies
2018-07-08 18:25:06 +02:00
Alden Torres
be78a43d05
more use of empty(), emplace_back, const and auto in disk_io_thread code
2018-06-24 07:02:17 +02:00
arvidn
2cb29f88ac
merged RC_1_1 into master
2018-06-23 23:22:26 +02:00
Steven Siloti
b7f230316c
set the minimum number of checking jobs based on the number of hasher threads
...
To effectively mask the latency of generating more hash jobs there need to be
at least two jobs in-flight for each hasher thread.
2018-06-23 23:10:55 +02:00
Arvid Norberg
794ccf4f79
remove unused disk stats counters
2018-06-05 19:03:04 +02:00
arvidn
267ca40b28
merged RC_1_1 into master
2018-06-02 13:15:13 +02:00
arvidn
fe612ca167
replace the TORRENT_CFG ABI check with inline namespaces around the symbol that can change ABI based on build configuration options
2018-05-13 19:25:17 +02:00
arvidn
8621477239
merged RC_1_1 into master
2018-04-28 14:36:24 +02:00
Steven Siloti
f5e33932d2
fix use after free in flush_range and flush_iovec
...
Calling blocks_flushed can cause the piece entry to be freed so its
callers need to be aware of that and avoid dereferencing the pointer if
the entry is freed.
2018-04-27 16:15:19 +02:00
arvidn
f0227451a6
merged RC_1_1 into master
2018-04-13 01:47:41 +02:00
arvidn
aaf9304a3b
update year in copyright header
2018-04-09 09:04:33 +02:00
gubatron
2a82bb5880
disk_io_thread abort_hash_jobs duplicate code refactor
2018-04-05 16:01:30 +02:00
arvidn
9df4d4b7f8
replace typedef with using. replace NULL with nullptr. cleanup page_aligned_allocator
2018-03-23 11:19:46 +01:00
Alden Torres
f0cd6492bd
minor lint oriented cleanup and refactor in headers
2018-02-17 00:52:35 +01:00
arvidn
3a9861e237
complete the error handling test and make it part of the default simulation test suite. It will run a file transfer between two clients repeatedly, each time cause another memory allocation fail, until every single memory allocation has failed once. Any invariant check failure, assertion or signal will cause the test to fail
2018-01-08 04:44:52 -05:00
arvidn
0731200149
block_size is a constant, no need in passing it around as a variable
2018-01-03 08:45:25 -05:00
arvidn
6785046c2f
introduce a download_priority_t type, for uniform an type-safe piece- and file priorities
2017-11-02 08:20:21 +01:00
arvidn
93bb84d94c
some random cleanup
2017-09-13 08:28:46 +02:00
arvidn
55228756e5
make disk job flags type safe
2017-09-10 08:56:52 +02:00
arvidn
322007bb6a
make save_state_flags a strong type
2017-07-30 09:06:41 -07:00
arvidn
33a2abebfe
submit disk jobs in read_piece()
2017-07-18 07:21:07 -07:00
arvidn
3215deb2c5
make io_service::work accounting more accurate in asio-debugging=on
2017-06-14 07:01:06 -04:00
arvidn
9a19ff344b
remove resolve_links disk job left-overs and convert some C-arrays to std::array
2017-06-13 20:35:55 -04:00
arvidn
147d996160
make the job action enum an enum class
2017-06-11 23:53:58 +02:00
arvidn
4de9f6a75b
remove requester parameter to disk read jobs
2017-06-08 12:38:25 +02:00
Arvid Norberg
5344761da4
make flags to move_storage a proper enum class ( #2043 )
2017-06-01 04:15:15 -04:00
arvidn
392f284566
remove some unused stats gathering state in disk_io_thread
2017-05-23 08:16:25 -04:00
arvidn
e79a7a08b9
fix race condition in storage tick handling in disk_io_thread
2017-05-18 10:21:34 -04:00
pavel.pimenov
4cf2bedde9
remove void* m_userdata
2017-04-30 21:15:08 -04:00
arvidn
df299fcb00
use boost::variant for disk_io_job in/out parameter, to support holding a proper disk io buffer handle and string
2017-04-17 15:08:27 -04:00
arvidn
480bde9333
change formatting of namespace declarations
2017-04-12 14:26:35 -04:00
Arvid Norberg
c35718d322
use unsigned integer for file and storage flags ( #1895 )
...
use unsigned integer for file and storage flags
2017-04-09 01:28:46 -04:00
Arvid Norberg
13b16a63a3
use unsigned type for file flags. make file_pool private to disk_io_thread ( #1894 )
...
use unsigned type for file flags. make file_pool private to disk_io_thread. move close_file_interval logic to the disk thread. don't expose file in public interface, and make pool_file_status properly public (not part of file_pool and renamed to open_file_status), this is exposed in public interface via torrent_handle::file_status()
2017-04-08 18:24:50 -04:00
arvidn
51c42adc3e
steps towars making file_pool private to disk_io_thread
2017-04-07 08:38:35 -04:00
arvidn
206a80acfb
optimize construction of disk io storage objects
2017-03-23 17:45:11 -04:00
Alden Torres
ddf1b62e4b
fixing sign-conversion warnings, part 9
2017-01-27 01:23:18 -05:00
Alden Torres
ef9d1ecd7f
fixing sign-conversion warnings, part 6
2017-01-17 20:51:26 -05:00
arvidn
934c58a816
merged RC_1_1 into master
2017-01-15 00:45:17 -05:00
Falco
51aa8e6928
documentation for deprecated members
2017-01-14 09:18:32 -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
Arvid Norberg
57f52adc88
various cleanup ( #1497 )
...
* various cleanup
* fix
* cleanup
2017-01-06 01:39:01 -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
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
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