nim-codex/vendor
Bulat-Ziganshin f24ded0f76
Download files without padding (#218)
The initial goal of this patch was to allow to download of a file via REST API in exactly the same size as it was uploaded, which required adding fields Chunker.offset and Manifest.originalBytes to keep that size. On top of that, we added more integrity checks to operations on Manifest, and reorganized TestNode.nim to test the actual interaction between node.store and node.retrieve operations.

Note that the wire format of Manifest was changed, so we need to recreate all BlockStores.

* Download without padding
* Fixed chunker tests
* Chunker: get rid of RabinChunker
* Verify offset in the chunker tests
* Use manifest.originalBytesPadded in StoreStream.size
* StoreStream: replace emptyBlock with zeroMem
* Manifest.bytes: compute how many bytes corresponding StoreStream(Manifest, pad) will return
* Manifest: verify originalBytes and originalLen on new/encode/decode
Also set originalBytes in each Manifest creation/update scenario
* Manifest: comments, split code into sections
* Reordered parameters to deal with int64 size in 32-bit builds
* TestNode.nim: combine Store and Retrieve tests
1. Instead of copy-pasting code from node.nim, new test calls node.store() and node.retrieve() in order to check that they can correctly store and then retrieve data
2. New test compares only file contents, manifest contents considered an implementation detail
3. New test chunks at odd chunkSize=BlockSize/1.618 in order to ensure that data retrieved correctly even when buffer sizes mismatch
* TestNode.nim: code refactoring
* Manifest.add: one more test
* Manifest.verify: return Result instead of raising Defect
* Node.store: added blockSize parameter
2022-08-24 15:15:59 +03:00
..
asynctest@5347c59b4b Por serialize (#106) 2022-05-23 23:24:15 -06:00
bearssl@acc70b1be6 adding submodules 2021-11-25 09:37:12 +01:00
combparser@ba4464c005 adding submodules 2021-11-25 09:37:12 +01:00
dagger-contracts@9ab65ae5a6 [build] Update dagger-contracts 2022-08-08 14:00:55 +02:00
dnsclient.nim@fbb76f8af8 Add DHT (#75) 2022-04-13 10:32:35 -06:00
lrucache.nim@8767ade0b7 Add DHT (#75) 2022-04-13 10:32:35 -06:00
nim-bearssl@dc62f4fccd adding submodules 2021-11-25 09:37:12 +01:00
nim-blscurve@0237e4e0e9 Cleanup-manifest (#52) 2022-03-14 10:06:36 -06:00
nim-chronicles@1682096306 Minor cleanup and update deps (#42) 2022-01-12 16:19:37 -06:00
nim-chronos@17fed89c99 Minor cleanup and update deps (#42) 2022-01-12 16:19:37 -06:00
nim-confutils@0435e67832 Minor cleanup and update deps (#42) 2022-01-12 16:19:37 -06:00
nim-contract-abi@b111c27b61 Subscribe to proof submissions (#83) 2022-04-13 10:41:48 -06:00
nim-datastore@2769ce1de2 [build] update nim-datastore 2022-08-10 13:13:07 -05:00
nim-ethers@809f3153e6 Update ethers to version 0.2.0 2022-07-20 13:43:20 +02:00
nim-faststreams@1b561a9e71 adding submodules 2021-11-25 09:37:12 +01:00
nim-http-utils@689da19e9e Node setup (#32) 2022-01-10 09:32:56 -06:00
nim-json-rpc@5a28176080 feat: integrate dagger contracts 2022-02-04 15:34:56 +11:00
nim-json-serialization@c5f0e2465e adding submodules 2021-11-25 09:37:12 +01:00
nim-leopard@2a6a63923e enable build on Mac M1 2022-05-19 11:34:49 +02:00
nim-libbacktrace@b29c22ba0e Bump libbacktrace and secp256k1 2022-06-28 11:04:18 +03:00
nim-libp2p@eeb3c210a3 Various dev-ops things (#85) 2022-04-14 12:49:03 +02:00
nim-libp2p-dht@9a872518d6 Various dev-ops things (#85) 2022-04-14 12:49:03 +02:00
nim-metrics@743f81d4f6 adding submodules 2021-11-25 09:37:12 +01:00
nim-nat-traversal@8994b67b07 adding submodules 2021-11-25 09:37:12 +01:00
nim-nitro@6b4c455bf4 Fix version conflict on nimble install 2022-05-19 09:36:47 +02:00
nim-presto@962bb588d1 Minor cleanup and update deps (#42) 2022-01-12 16:19:37 -06:00
nim-protobuf-serialization@f7d671f877 adding submodules 2021-11-25 09:37:12 +01:00
nim-secp256k1@5340cf1881 Bump libbacktrace and secp256k1 2022-06-28 11:04:18 +03:00
nim-serialization@fcd0eadadd adding submodules 2021-11-25 09:37:12 +01:00
nim-sqlite3-abi@fda455cfea [build] add github.com/arnetheduck/nim-sqlite3-abi to vendor 2022-08-08 02:12:43 -05:00
nim-stew@6ad35b876f refreshing stew (#43) 2022-01-12 16:52:09 -06:00
nim-taskpools@8d408ac6cf Cleanup-manifest (#52) 2022-03-14 10:06:36 -06:00
nim-toml-serialization@4e15e00ed9 Node setup (#32) 2022-01-10 09:32:56 -06:00
nim-unittest2@02c49b8a99 Node setup (#32) 2022-01-10 09:32:56 -06:00
nim-websock@a697e3585d Node setup (#32) 2022-01-10 09:32:56 -06:00
nim-zlib@74cdeb54b2 feat: integrate dagger contracts 2022-02-04 15:34:56 +11:00
nimbus-build-system@25a4c27033 Node setup (#32) 2022-01-10 09:32:56 -06:00
nimcrypto@a5742a9a21 adding submodules 2021-11-25 09:37:12 +01:00
questionable@6018fd43e0 Download files without padding (#218) 2022-08-24 15:15:59 +03:00
stint@036c71d06a adding submodules 2021-11-25 09:37:12 +01:00
upraises@ff4f8108e4 adding submodules 2021-11-25 09:37:12 +01:00