Commit Graph

185 Commits

Author SHA1 Message Date
Arvid Norberg a0ecb10ef8 parameterize some tests over all disk I/O backends 2026-06-13 11:33:29 +02:00
Arvid Norberg 53026b4517 address flakiness of webtorrent test 2026-05-22 19:50:25 +02:00
arvidn 98803df991 update test output to integrate better with github actions 2026-04-04 17:22:33 +02:00
Arvid Norberg b72bf32ceb fix downloader with invalid hashes 2026-04-02 00:52:22 +02:00
Arvid Norberg 6e9c9102f8 add feature to only validate the v2 hashes for hybrid torrents 2026-04-02 00:52:22 +02:00
Arvid Norberg 1d4c88ea21 extend test_transfer timeout 2026-03-29 22:17:45 +02:00
Arvid Norberg e7926b3f60 extend the test_transfer timeout for large pieces 2026-03-11 11:43:23 +01:00
arvidn 5abab0509c add new multi-threaded disk I/O subsystem using preadv and pwritev 2026-03-03 15:01:55 +01:00
arvidn a8b1c0f537 make test_transfer a bit less flaky 2026-02-14 17:01:10 +01:00
arvidn c499be8133 fix test_transfer to build with mmap support disabled 2026-01-20 11:18:54 +01:00
Arvid Norberg a01469c8d1 Merge branch 'RC_2_0' 2025-09-09 09:20:48 +02:00
Arvid Norberg c106f62ec2 fix build issues when disabling i2p support 2025-09-09 07:50:06 +02:00
Arvid Norberg 69001184e1 transition more test facilities to use add_torrent_params and load_torrent_buffer() instead of the deprecated use of torrent_info 2025-02-13 16:19:50 +01:00
Arvid Norberg f257eef79e extend test_transfer to cover the posix disk I/O as well as large pieces 2024-10-27 22:04:08 +01:00
arvidn 6f4b7b03ea Merge branch 'RC_2_0' 2024-05-11 08:45:29 +02:00
arvidn 64c817961b add test for recent set_piece_deadline fix 2024-03-16 20:48:25 +01:00
arvidn 629297d9e6 various minor updates to tests 2024-02-20 00:46:04 +01:00
arvidn 964ffc57ba merge RC_2_0 into master 2022-06-23 08:07:28 +02:00
arvidn 550d3c7d9f update copyright headers 2022-06-22 21:42:55 +02:00
arvidn fe94464d42 merged RC_2_0 into master 2022-06-14 21:17:25 +02:00
arvidn 232fc06206 use sync_file_range() on linux, when disabling write cache 2022-06-14 18:01:06 +02:00
arvidn 50dbe47d3b merged RC_2_0 into master 2021-08-28 10:27:25 +02:00
arvidn e42bfa20cf merged RC_1_2 into RC_2_0 2021-08-22 12:26:21 +02:00
arvidn 5869c78bc0 work around new windows restriction of which ports are allowed to be used in tests 2021-08-22 09:59:02 +02:00
arvidn 2db8b54c08 update copyright headers in source files 2021-06-13 21:04:55 +02:00
arvidn 385602ab01 fix warnings in tests 2021-05-31 13:37:07 +02:00
arvidn f4d58ae4b3 fix time_now_string to not use a global variable for the returned string 2020-12-19 23:59:07 +01:00
arvidn 19e8c2f3ea remove full BSD license from all source files. reference LICENSE file in the root instead 2020-09-02 00:56:54 -07:00
arvidn 5935f63ead update copyrights 2020-09-01 05:14:17 -07:00
arvidn 3e110385d9 merged RC_1_2 into RC_2_0 2020-07-12 01:51:09 +02:00
arvidn 1da41f3946 backport fix to test_transfer 2020-07-10 23:39:27 -07:00
arvidn e3cbf630ff merged RC_1_2 into master 2020-02-03 10:01:20 +01:00
arvidn bdee0b563c fix suggest_read_cache setting 2020-02-02 20:16:59 +01:00
arvidn 206935c25b merged RC_1_2 into master 2020-01-21 19:41:59 +01:00
arvidn 69fe7a9ad6 debug test_transfer 2020-01-20 14:27:16 +01:00
arvidn 3e47161820 move session_params into its own header/cpp pair 2019-11-30 21:40:01 +01:00
arvidn d3f7a363c2 update copyright year 2019-08-29 00:13:04 +02:00
arvidn 87a689a0ad merged RC_1_2 into master 2019-03-30 17:22:46 +01:00
arvidn 1b79ce86e1 don't count connections and disconnections to ourself as sign of failure in tests 2019-03-30 10:08:38 +01:00
arvidn 9263496d5f merged RC_1_2 into master 2019-02-19 18:41:21 +01:00
arvidn 7f2a78d0c9 make random_shuffle() take a range instead of two iterators. use random_bytes() instead of std::generate() and random_byte(). Remove unused hasher.hpp includes 2019-02-19 01:48:08 +01:00
arvidn 8305c40d6a make disk_interface the customization point for storage, rather than storage_interface
remove the disk cache
remove trim_cache disk job
remove zero-storage
mark default_storage_constructor as deprecated
remove storage_interface
remove file_pool and default_storage_constructor. update connection_tester to use disk_io_thread.
only ftruncate files once
optimize hashing, by running sha1 directly on the memory mapped file
use boost-multi_index in file_view_pool
remove flush_piece and flush_hashed, simplify job-fence logic, remove prep_read_job_impl
support noatime
split out mmap implementation into a .cpp file
support hashing of content in part files. wraps up new disk storage
remove flush_piece disk job
separate out store_buffer into its own class
pass session_settings into storage operations instead of assigning a pointer in the storage object
use unordered_map in store_buffer
add fopen-based disk io back-end for non-64 bit systems or systems without mmap
factor out open_mode_t into its own header
first stab at windows memory mapped files support
build all of boost for autotools
remove flag in async_read callback handler
remove old open_mode_t, preadv/readv and coalesce buffers
support sparse and no_cache file flags in mmap
Remove use of overlapped I/O because we're no longer doing any scatter/gather syscalls the use of overlapped is an unnecessary complication.
don't explicitly specify global read and write. On MINGW we need to use libtorrent::read and libtorrent::write instead of the MINGW provided ::read and ::write.

If the underlying file is empty then m_mapping is expected to be null.
It is the caller's responsibilty to notice that the region's size is
zero and not dereference it in that case.

Otherwise there is no good way for users of default_storage::open_file
to determine that the opened file is empty.
2019-01-20 18:29:42 +01:00
arvidn 109db58641 merge RC_1_1 into master 2018-09-25 21:33:29 -07:00
arvidn 6c4d1b9143 back-port the patch to split up the progress_notification alert_mask into three new categories, file-, piece- and block progress 2018-09-24 08:52:30 -07:00
arvidn b750b6cc2c deprecate (and disable) the force-proxy setting. Instead, always use the proxy when set, never fall back on circumventing it 2018-07-08 18:26:47 +02:00
arvidn b67166b29d merged RC_1_1 into master 2018-06-24 17:59:28 +02:00
Arvid Norberg b0b1bfb7a9 enable coalesce_reads and coalesce_writes by default on windows 2018-06-24 07:39:59 +02:00
arvidn 267ca40b28 merged RC_1_1 into master 2018-06-02 13:15:13 +02:00
arvidn c55bc7dd42 improve error handling of failing to change file priority 2018-05-31 00:47:17 +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