Doekin
8aed49eff7
enhance test_checking with large files (to trigger mmap)
2025-01-20 17:16:04 +01:00
arvidn
74d82a0cd7
tweak pad file placement to match reference implementation (tail-padding)
2022-09-15 13:01:59 +02:00
arvidn
550d3c7d9f
update copyright headers
2022-06-22 21:42:55 +02:00
arvidn
fd05f3be90
fix issue creating and loading v2 torrents with empty files
2021-04-18 17:17:52 +02:00
Arvid Norberg
14e334879b
add wrapper around std::ofstream to simplify tests that creates files
2020-09-15 10:37:49 -07:00
arvidn
5935f63ead
update copyrights
2020-09-01 05:14:17 -07:00
arvidn
6ea0273a63
improve randomness of port selection for web python script in tests, to minimize collisions and failed tests
2020-08-27 00:23:37 -07:00
arvidn
59dcae0e3d
merged RC_1_2 into RC_2_0
2020-08-07 07:46:42 +02:00
arvidn
3ced76ecf1
allow overlong files again, when checking resume data. ignore files with priority 0 in verifying resume data, as those files may be in a partfile. add tests to cover those cases
2020-08-06 22:40:10 -07:00
arvidn
0b7ea81a28
add file_progress() overload that returns the vector
2020-06-13 07:28:37 -07:00
Arvid Norberg
62f9a0ed74
make create_torrent fail rather than produce invalid torrents. By default, create a torrent corresponding to which hashes were set
2020-06-10 02:49:03 -07:00
arvidn
2ce785cd28
fix checking files of v2-only torrent
2020-06-06 15:32:53 -07:00
Arvid Norberg
392d8366b0
prefer lt:: namespace over libtorrent::, in examples
2020-06-03 22:01:37 +02:00
arvidn
6e9f05ab9f
restore info_hash() API and name the v2 API info_hashes()
2020-05-30 14:00:24 +02:00
arvidn
d15eee1d09
make merkle_tree sparse
2020-05-24 21:02:10 +02:00
Arvid Norberg
ef25f69070
rename disk_io_thread -> mmap_disk_io and storage -> mmap_storage
2019-12-10 08:44:53 +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
Steven Siloti
86be4287d3
add info hash type
2019-08-10 09:28:38 -07:00
Steven Siloti
1a7ccf240f
generate v2 metadata
2019-08-10 09:28:38 -07: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
Arvid Norberg
0e49051f17
make create_random_files() take a span instead of pointer, length parameters
2018-06-11 01:35:31 +02:00
Arvid Norberg
1b62aff9d1
minor improvements to test_checking
2018-06-10 16:25:10 +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
d080c6f532
merged RC_1_1 into master
2018-03-26 12:56:25 +02:00
d_komarov
1c867a5026
Changing file priorities while checking interrupts checking.
...
Also, if the last file has zero priority, checking is interrupted prematurely.
2018-03-26 02:59:10 +02:00
arvidn
f8fb5c2294
merged RC_1_1 into master
2018-02-10 22:52:12 +01:00
arvidn
a1860426b8
defer truncating existing files until the first time we write to them
2018-02-10 18:33:41 +01:00
Alden Torres
73a7050185
fixing warnings in tests code, part7
2018-01-30 12:34:53 +01:00
Alden Torres
070d1cd61f
fixing warnings in tests code, part5 ( #2736 )
2018-01-28 00:56:21 +01:00
arvidn
865ff09a84
merge RC_1_1 into master
2017-08-10 16:44:57 +02:00
arvidn
378a0e974b
fix issue of force-recheck or seeding from read-only media, torrents with empty files in them. Previously libtorrent would create empty files up-front unconditionally, now they won't be created if they already exist
2017-08-09 18:48:49 +02:00
arvidn
1f3730fa5a
fix force-recheck issue (new files would not be picked up)
2017-08-06 09:49:51 +02:00
arvidn
b38efb6c65
make alert category flags be a strong type
2017-07-26 07:20:47 -07:00
arvidn
c4eb4c8b5f
use span in torrent_info constructors and deprecate the redundant flags argument
2017-07-22 00:00:44 -07:00
arvidn
c4afb5e949
use a dedicated class template for flags types instead of enum class. It's more backwards compatible and improves ergonomics
2017-07-15 01:15:57 -07:00
arvidn
ffaabd846c
make file open mode flags be an enum class for type-safety
2017-05-28 11:16:59 -04:00
arvidn
d138f02424
introduce lt namespace alias
2017-04-23 23:43:58 -04:00
arvidn
79d7ae3638
separate path and filesystem functions out into its own translation unit/header file pair, separating it from the file and directory class
2017-04-11 18:07:55 -04:00
arvidn
6c805bd06d
simplify print statements in tests
2016-10-09 20:23:45 -04:00
arvidn
9453fbd54b
merged RC_1_1 into master
2016-10-09 20:09:44 -04:00
Arvid Norberg
6bb2d7c017
Sanitize 1.1 ( #1197 )
...
enable address sanitizer
2016-10-09 17:00:20 -04:00
Alden Torres
bb388563b3
refactor to use torrent_info with std::shared_ptr ( #1006 )
2016-08-17 17:26:35 -04:00
arvidn
83dba91168
use span for to_hex and from_hex functions
2016-07-29 18:42:18 -04:00
Arvid Norberg
eda956f13a
use standard library for suspending threads ( #855 )
...
use standard library for suspending threads
2016-06-26 09:24:06 -04:00
Arvid Norberg
8c8f5bb03b
deprecated public to_hex() and from_hex() functions ( #784 )
2016-06-04 10:01:43 -04:00
Arvid Norberg
748af6eec1
general cleanup. remove valgrind markup, log_hash_failures and C headers ( #752 )
...
general cleanup. remove valgrind markup, log_hash_failures and C headers
2016-05-23 08:15:39 -04:00
Arvid Norberg
e8380e1d0b
factor out includes from config.hpp into the files actually using it. primarily, printf family of functions, since C++11 version is used now. This removes the need for an snprintf-wrapper on windows ( #732 )
2016-05-17 09:24:06 -04:00
Andrei Kurushin
62eb956c54
fix x64 build with VS2015 UP2 compiler ( #640 )
...
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
arvidn
f7c9062019
deprecate more parts of explicit cache as well as fixing typos of TORRENT_NO_DEPRECATE preprocessor tests
2016-03-19 07:54:29 -04:00