Commit Graph

23 Commits

Author SHA1 Message Date
arvidn 272828e1cc fix peer_list to support incoming i2p connections 2023-04-17 10:42:06 +02:00
arvidn 550d3c7d9f update copyright headers 2022-06-22 21:42:55 +02:00
arvidn a2ed296306 merkle unit tests 2021-10-26 12:48:00 +02:00
arvidn bc4c8d13e8 overhaul the merkle_tree class in order to allow it to have a consistent (and well defined) invariant. This involves merging add_hashes() and add_proofs(), also move the verified blocks bitfield from hash_picker into merkle_tree. 2021-10-26 12:48:00 +02:00
arvidn 9b957f6268 use user defined literal for piece_index_t in tests 2021-03-22 14:08:53 +01:00
arvidn de8e69a795 simplify tests by defining a user defined literal for file_index_t 2021-03-21 03:32:58 +01:00
Arvid Norberg 31622459fd update copyright 2020-11-14 20:25:15 +01:00
Arvid Norberg 5bdea2c995 split test_hash_picker to have merkle_tree tests in its own file 2020-09-11 17:22:13 -07:00
arvidn 5935f63ead update copyrights 2020-09-01 05:14:17 -07:00
arvidn 0f235540d8 fix torrent round-trip for v2 torrents in create_torrent 2020-08-12 00:18:47 -07:00
arvidn ce2f233ea4 save sparse merkle-trees in resume data, by masking out unset hashes 2020-06-28 00:20:17 +02:00
Steven Siloti 6806bc99f3 always request a power-of-two count of piece hashes
Retain the ability to process non-padded requests since the code is already
there in case we decide to relax the power-of-two restriction.
2020-05-26 14:45:22 +02:00
arvidn 899668cdbc add unit test for get_hashes. Fix issue when requesting pad hashes from leaf layer 2020-05-26 02:21:23 +02:00
arvidn 69b98852c9 merkle_tree::add_hashes does not need to take blocks_per_piece 2020-05-24 21:02:10 +02:00
arvidn d15eee1d09 make merkle_tree sparse 2020-05-24 21:02:10 +02:00
arvidn f573fca924 add function to copy the valid parts of merkle tree 2020-05-24 21:02:10 +02:00
arvidn 820e038cf2 factor out function to add a block hash (leaf hash) to a merkle tree into a member function of merkle_tree. This was the last operation that required to be able to mutate the tree, so mutating operator[] and fill and clear can now be made private 2020-05-24 21:02:10 +02:00
arvidn 3ccc14a30d factor out adding of new hashes to the file tree into the merkle_tree class 2020-05-24 21:02:10 +02:00
arvidn 7dac65a696 raise abstraction level of merkle_tree 2020-05-24 21:02:10 +02:00
arvidn c7f81bd447 factor out file merkle trees 2020-05-24 21:02:10 +02:00
arvidn 53dd998911 use validate_hash_request in hash_picker::add_hashes 2020-05-02 22:39:24 +02:00
arvidn d3f7a363c2 update copyright year 2019-08-29 00:13:04 +02:00
Steven Siloti 920635b772 add hash picker and hash request messages 2019-08-10 09:28:38 -07:00