Commit Graph

2100 Commits

Author SHA1 Message Date
arvidn a3440e54bb make aux::session_settings thread-safe. this allows all threads to share the same settings object, which has low contention and is rarely updated 2019-09-01 03:41:36 +02:00
arvidn b2c3b4dbf8 add spaces around user defined literal suffix operators 2019-08-21 14:23:46 +02:00
arvidn 07ab3b9739 add feature to create an affinity to pick adjecent pieces aligned to 4MiB extents. It's an attempt to improve disk I/O, by writing larger contiguous ranges of bytes. It's off by default. 2019-08-17 12:32:47 +02:00
arvidn ffd4b39b09 improve hack in file_storage::symlink 2019-08-13 21:30:23 +02:00
Arvid Norberg ff113a262c make it a bit more likely to split the last bucket in the DHT routing table 2019-08-12 15:08:49 -07:00
Arvid Norberg f40ecac4dd improve testing on appveyor. revert appveyor image 2019-08-06 21:55:47 -07:00
Arvid Norberg f23f96ea1f fix win32 test stdout redirection 2019-08-06 21:55:47 -07:00
Arvid Norberg bd0d011536 make test_dht deterministic 2019-07-31 19:04:29 -07:00
Arvid Norberg e539846266 fix integer overflow in chunked http parser 2019-07-30 11:16:05 -07:00
arvidn b1b03a0d77 factor out and unit test parts of the DHT routing table logic that handles the affinity of nodes to insert. Specifically, make sure the even distribution within routing table buckets works correctly 2019-07-30 07:56:18 -07:00
arvidn 8e23f9cc92 improve file_storage::sanitize_symlinks 2019-07-29 06:10:04 -07:00
arvidn 3995ffeafd similar to how low RTT DHT nodes are preferred over high RTT nodes, also have an affinity for nodes with node IDs derived from their IP 2019-07-28 16:13:16 -07:00
arvidn 7a20850632 feature to disable DHT, PEX and LSD per torrent 2019-07-20 10:20:41 -07:00
Arvid Norberg d113816ae6 fix issue where trackers from magnet links were not included in create_torrent() 2019-07-04 12:53:36 +02:00
Steven Siloti aec5c50282 Track the mapped port for each NAT mapping transport (#3793)
* Track the mapped port for each NAT mapping transport
Each transport needs to be tracked separately so that a failed mapping request
doesn't cause the listen port for a socket to be cleared to zero.
* add template specialization to allow enums as indexes
* use aux::array for port mappings
2019-04-22 01:50:44 +02:00
Arvid Norberg 76c2794923
fix build with boost-1.70 (#3788)
fix build with boost 1.70.0 Fix #3683
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-04-19 20:56:19 +02:00
arvidn a845afe6d9 fix warnings 2019-04-10 08:05:36 +02:00
arvidn 4441655bab optimize resolve_duplicate_filenames_slow() 2019-04-09 01:59:34 +02:00
arvidn 8508506f16 don't run the SHA-1 and SHA-512 test vector tests by default, as they are slow 2019-04-02 20:03:34 +02: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 51f77cc0a1 fix printing priorities in test_priority.cpp 2019-03-29 13:14:46 +01:00
arvidn 95937b28a7 add missing test torrent to tarball 2019-03-28 20:25:11 +01:00
arvidn 5260128933 minor improvement to test_tracker. fix test output redirection on windows. tweak starting of web server in tests 2019-03-28 00:22:05 +01:00
arvidn 64600f444b improve sanitizer rule in Jamfile. Some fixes for new clang sanitizr 'implicit-conversion' 2019-03-26 10:14:06 +01:00
arvidn 2990532d10 reduce the amount of hacky path/string handling code 2019-03-22 07:48:07 +01:00
Arvid Norberg 57cd2882d4 update symlinks to conform to BEP 47 2019-03-19 10:05:06 +01:00
arvidn 5f85e40193 remove old, hacky and unused split_string() function 2019-03-19 09:27:06 +01:00
Alden Torres 620eb39f2c missing changes 2019-03-11 14:38:26 +01:00
arvidn 381d5a3c5d add support for creating symlinks, for torrents with symlinks in them 2019-03-05 22:53:56 +01:00
Arvid Norberg e106602f49 allow padfiles of equal size to share the same filename 2019-03-01 16:09:53 +01:00
Arvid Norberg ed867e0062 improve test_torrent_info to make it easier to add more test cases for duplicate files 2019-03-01 16:09:53 +01:00
Arvid Norberg 57017e3ace noreturn attribute is standard in C++11 2019-02-27 17:11:15 +01:00
arvidn 4473a8d0ce fix seed_mode flag 2019-02-24 10:20:20 +01:00
arvidn 3891f77253 fix naming in test_dht. don't include deprecated header (lazy_entry) unless required 2019-02-21 23:05:42 +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 1b7884b220 support numeric suffixes to magnet link parameter names 2019-02-15 23:15:38 +01:00
arvidn 8fc69f5d2e don't copy a vector into the async_write operation for iovec. Since the chained_buffer will own the vector anyway, just make it return a span and copy that 2019-02-09 17:45:47 +01:00
Alden Torres 88d018bb67 simple test for file_progress::update 2019-01-13 02:40:15 +01:00
arvidn f4f1425115 use UNC paths pervasively on windows 2019-01-12 21:00:40 +01:00
arvidn 8b067310b1 merged RC_1_1 into master 2019-01-12 00:53:45 +01:00
arvidn a112c8e67b add assignment operator to span 2018-12-12 19:55:07 +01:00
arvidn 6debd872de tweak heuristic of how to interpret url seeds in multi-file torrents 2018-12-11 12:47:43 +01:00
arvidn 7e13b34158 fix build i2p=on,off configurations 2018-12-07 13:36:53 +01:00
arvidn eb5f29a79c make stack_allocator::format_string() grow the buffer for large strings 2018-12-02 04:03:03 +01:00
arvidn 50ae1838e6 wrap inclusion of windows.h with appropriate defines 2018-11-21 10:09:23 +01:00
arvidn 1f9178f882 clean up test_fast_extension to use span 2018-11-21 10:08:01 +01:00
arvidn 9ae4aedeb0 deprecate slow bdecode() function 2018-11-19 09:09:55 +01:00
arvidn 8841c58435 improve interoperability between bdecode_node and entry (for encoding). Make it possible to construct an entry from a bdecode_node. move comparison operators out of entry to support implicit conversions from bdecode_node 2018-11-18 22:54:36 +01:00
arvidn eab1055938 more warnings on appveyor 2018-11-18 11:49:45 +01:00
arvidn 7538d68086 clean up integer_to_str() function 2018-11-17 17:21:06 +01:00