Fast and robust atproto CAR file processing in rust

simple as

Changed files
+24 -1314
examples
disk-read-file
+17 -1269
Cargo.lock
··· 3 3 version = 4 4 4 5 5 [[package]] 6 - name = "addr2line" 7 - version = "0.25.1" 8 - source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" 10 - dependencies = [ 11 - "gimli", 12 - ] 13 - 14 - [[package]] 15 - name = "adler2" 16 - version = "2.0.1" 17 - source = "registry+https://github.com/rust-lang/crates.io-index" 18 - checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 19 - 20 - [[package]] 21 - name = "aho-corasick" 22 - version = "1.1.3" 23 - source = "registry+https://github.com/rust-lang/crates.io-index" 24 - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 - dependencies = [ 26 - "memchr", 27 - ] 28 - 29 - [[package]] 30 - name = "anes" 31 - version = "0.1.6" 32 - source = "registry+https://github.com/rust-lang/crates.io-index" 33 - checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" 34 - 35 - [[package]] 36 6 name = "anstream" 37 7 version = "0.6.21" 38 8 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 68 38 source = "registry+https://github.com/rust-lang/crates.io-index" 69 39 checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" 70 40 dependencies = [ 71 - "windows-sys 0.60.2", 41 + "windows-sys", 72 42 ] 73 43 74 44 [[package]] ··· 79 49 dependencies = [ 80 50 "anstyle", 81 51 "once_cell_polyfill", 82 - "windows-sys 0.60.2", 83 - ] 84 - 85 - [[package]] 86 - name = "anyhow" 87 - version = "1.0.100" 88 - source = "registry+https://github.com/rust-lang/crates.io-index" 89 - checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" 90 - 91 - [[package]] 92 - name = "autocfg" 93 - version = "1.5.0" 94 - source = "registry+https://github.com/rust-lang/crates.io-index" 95 - checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 96 - 97 - [[package]] 98 - name = "backtrace" 99 - version = "0.3.76" 100 - source = "registry+https://github.com/rust-lang/crates.io-index" 101 - checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" 102 - dependencies = [ 103 - "addr2line", 104 - "cfg-if", 105 - "libc", 106 - "miniz_oxide", 107 - "object", 108 - "rustc-demangle", 109 - "windows-link", 110 - ] 111 - 112 - [[package]] 113 - name = "base-x" 114 - version = "0.2.11" 115 - source = "registry+https://github.com/rust-lang/crates.io-index" 116 - checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" 117 - 118 - [[package]] 119 - name = "base256emoji" 120 - version = "1.0.2" 121 - source = "registry+https://github.com/rust-lang/crates.io-index" 122 - checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c" 123 - dependencies = [ 124 - "const-str", 125 - "match-lookup", 126 - ] 127 - 128 - [[package]] 129 - name = "bincode" 130 - version = "2.0.1" 131 - source = "registry+https://github.com/rust-lang/crates.io-index" 132 - checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" 133 - dependencies = [ 134 - "bincode_derive", 135 - "serde", 136 - "unty", 137 - ] 138 - 139 - [[package]] 140 - name = "bincode_derive" 141 - version = "2.0.1" 142 - source = "registry+https://github.com/rust-lang/crates.io-index" 143 - checksum = "bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09" 144 - dependencies = [ 145 - "virtue", 52 + "windows-sys", 146 53 ] 147 54 148 55 [[package]] ··· 152 59 checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" 153 60 154 61 [[package]] 155 - name = "block-buffer" 156 - version = "0.10.4" 157 - source = "registry+https://github.com/rust-lang/crates.io-index" 158 - checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 159 - dependencies = [ 160 - "generic-array", 161 - ] 162 - 163 - [[package]] 164 - name = "bumpalo" 165 - version = "3.19.0" 166 - source = "registry+https://github.com/rust-lang/crates.io-index" 167 - checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 168 - 169 - [[package]] 170 62 name = "byteorder-lite" 171 63 version = "0.1.0" 172 64 source = "registry+https://github.com/rust-lang/crates.io-index" 173 65 checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" 174 66 175 67 [[package]] 176 - name = "bytes" 177 - version = "1.10.1" 178 - source = "registry+https://github.com/rust-lang/crates.io-index" 179 - checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 180 - 181 - [[package]] 182 68 name = "byteview" 183 69 version = "0.10.0" 184 70 source = "registry+https://github.com/rust-lang/crates.io-index" 185 71 checksum = "dda4398f387cc6395a3e93b3867cd9abda914c97a0b344d1eefb2e5c51785fca" 186 72 187 73 [[package]] 188 - name = "cast" 189 - version = "0.3.0" 190 - source = "registry+https://github.com/rust-lang/crates.io-index" 191 - checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" 192 - 193 - [[package]] 194 - name = "cbor4ii" 195 - version = "0.2.14" 196 - source = "registry+https://github.com/rust-lang/crates.io-index" 197 - checksum = "b544cf8c89359205f4f990d0e6f3828db42df85b5dac95d09157a250eb0749c4" 198 - dependencies = [ 199 - "serde", 200 - ] 201 - 202 - [[package]] 203 74 name = "cfg-if" 204 75 version = "1.0.3" 205 76 source = "registry+https://github.com/rust-lang/crates.io-index" 206 77 checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" 207 78 208 79 [[package]] 209 - name = "ciborium" 210 - version = "0.2.2" 211 - source = "registry+https://github.com/rust-lang/crates.io-index" 212 - checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" 213 - dependencies = [ 214 - "ciborium-io", 215 - "ciborium-ll", 216 - "serde", 217 - ] 218 - 219 - [[package]] 220 - name = "ciborium-io" 221 - version = "0.2.2" 222 - source = "registry+https://github.com/rust-lang/crates.io-index" 223 - checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" 224 - 225 - [[package]] 226 - name = "ciborium-ll" 227 - version = "0.2.2" 228 - source = "registry+https://github.com/rust-lang/crates.io-index" 229 - checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" 230 - dependencies = [ 231 - "ciborium-io", 232 - "half", 233 - ] 234 - 235 - [[package]] 236 - name = "cid" 237 - version = "0.11.1" 238 - source = "registry+https://github.com/rust-lang/crates.io-index" 239 - checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" 240 - dependencies = [ 241 - "core2", 242 - "multibase", 243 - "multihash", 244 - "serde", 245 - "serde_bytes", 246 - "unsigned-varint 0.8.0", 247 - ] 248 - 249 - [[package]] 250 80 name = "clap" 251 81 version = "4.5.48" 252 82 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 277 107 "heck", 278 108 "proc-macro2", 279 109 "quote", 280 - "syn 2.0.106", 110 + "syn", 281 111 ] 282 112 283 113 [[package]] ··· 299 129 checksum = "ea0095f6103c2a8b44acd6fd15960c801dafebf02e21940360833e0673f48ba7" 300 130 301 131 [[package]] 302 - name = "const-str" 303 - version = "0.4.3" 304 - source = "registry+https://github.com/rust-lang/crates.io-index" 305 - checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" 306 - 307 - [[package]] 308 - name = "core2" 309 - version = "0.4.0" 310 - source = "registry+https://github.com/rust-lang/crates.io-index" 311 - checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" 312 - dependencies = [ 313 - "memchr", 314 - ] 315 - 316 - [[package]] 317 - name = "cpufeatures" 318 - version = "0.2.17" 319 - source = "registry+https://github.com/rust-lang/crates.io-index" 320 - checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 321 - dependencies = [ 322 - "libc", 323 - ] 324 - 325 - [[package]] 326 - name = "criterion" 327 - version = "0.7.0" 328 - source = "registry+https://github.com/rust-lang/crates.io-index" 329 - checksum = "e1c047a62b0cc3e145fa84415a3191f628e980b194c2755aa12300a4e6cbd928" 330 - dependencies = [ 331 - "anes", 332 - "cast", 333 - "ciborium", 334 - "clap", 335 - "criterion-plot", 336 - "itertools", 337 - "num-traits", 338 - "oorandom", 339 - "plotters", 340 - "rayon", 341 - "regex", 342 - "serde", 343 - "serde_json", 344 - "tinytemplate", 345 - "tokio", 346 - "walkdir", 347 - ] 348 - 349 - [[package]] 350 - name = "criterion-plot" 351 - version = "0.6.0" 352 - source = "registry+https://github.com/rust-lang/crates.io-index" 353 - checksum = "9b1bcc0dc7dfae599d84ad0b1a55f80cde8af3725da8313b528da95ef783e338" 354 - dependencies = [ 355 - "cast", 356 - "itertools", 357 - ] 358 - 359 - [[package]] 360 - name = "crossbeam-deque" 361 - version = "0.8.6" 362 - source = "registry+https://github.com/rust-lang/crates.io-index" 363 - checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" 364 - dependencies = [ 365 - "crossbeam-epoch", 366 - "crossbeam-utils", 367 - ] 368 - 369 - [[package]] 370 132 name = "crossbeam-epoch" 371 133 version = "0.9.18" 372 134 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 392 154 checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 393 155 394 156 [[package]] 395 - name = "crunchy" 396 - version = "0.2.4" 397 - source = "registry+https://github.com/rust-lang/crates.io-index" 398 - checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" 399 - 400 - [[package]] 401 - name = "crypto-common" 402 - version = "0.1.6" 403 - source = "registry+https://github.com/rust-lang/crates.io-index" 404 - checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 405 - dependencies = [ 406 - "generic-array", 407 - "typenum", 408 - ] 409 - 410 - [[package]] 411 157 name = "dashmap" 412 158 version = "6.1.0" 413 159 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 422 168 ] 423 169 424 170 [[package]] 425 - name = "data-encoding" 426 - version = "2.9.0" 427 - source = "registry+https://github.com/rust-lang/crates.io-index" 428 - checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" 429 - 430 - [[package]] 431 - name = "data-encoding-macro" 432 - version = "0.1.18" 433 - source = "registry+https://github.com/rust-lang/crates.io-index" 434 - checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" 435 - dependencies = [ 436 - "data-encoding", 437 - "data-encoding-macro-internal", 438 - ] 439 - 440 - [[package]] 441 - name = "data-encoding-macro-internal" 442 - version = "0.1.16" 443 - source = "registry+https://github.com/rust-lang/crates.io-index" 444 - checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" 445 - dependencies = [ 446 - "data-encoding", 447 - "syn 2.0.106", 448 - ] 449 - 450 - [[package]] 451 - name = "digest" 452 - version = "0.10.7" 453 - source = "registry+https://github.com/rust-lang/crates.io-index" 454 - checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 455 - dependencies = [ 456 - "block-buffer", 457 - "crypto-common", 458 - ] 459 - 460 - [[package]] 461 - name = "either" 462 - version = "1.15.0" 463 - source = "registry+https://github.com/rust-lang/crates.io-index" 464 - checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 465 - 466 - [[package]] 467 171 name = "enum_dispatch" 468 172 version = "0.3.13" 469 173 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 472 176 "once_cell", 473 177 "proc-macro2", 474 178 "quote", 475 - "syn 2.0.106", 476 - ] 477 - 478 - [[package]] 479 - name = "env_filter" 480 - version = "0.1.3" 481 - source = "registry+https://github.com/rust-lang/crates.io-index" 482 - checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" 483 - dependencies = [ 484 - "log", 485 - "regex", 486 - ] 487 - 488 - [[package]] 489 - name = "env_logger" 490 - version = "0.11.8" 491 - source = "registry+https://github.com/rust-lang/crates.io-index" 492 - checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" 493 - dependencies = [ 494 - "anstream", 495 - "anstyle", 496 - "env_filter", 497 - "jiff", 498 - "log", 179 + "syn", 499 180 ] 500 181 501 182 [[package]] ··· 511 192 checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 512 193 dependencies = [ 513 194 "libc", 514 - "windows-sys 0.60.2", 195 + "windows-sys", 515 196 ] 516 - 517 - [[package]] 518 - name = "fallible-iterator" 519 - version = "0.3.0" 520 - source = "registry+https://github.com/rust-lang/crates.io-index" 521 - checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" 522 - 523 - [[package]] 524 - name = "fallible-streaming-iterator" 525 - version = "0.1.9" 526 - source = "registry+https://github.com/rust-lang/crates.io-index" 527 - checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" 528 197 529 198 [[package]] 530 199 name = "fastrand" ··· 559 228 ] 560 229 561 230 [[package]] 562 - name = "foldhash" 563 - version = "0.1.5" 564 - source = "registry+https://github.com/rust-lang/crates.io-index" 565 - checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 566 - 567 - [[package]] 568 - name = "futures" 569 - version = "0.3.31" 570 - source = "registry+https://github.com/rust-lang/crates.io-index" 571 - checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" 572 - dependencies = [ 573 - "futures-channel", 574 - "futures-core", 575 - "futures-executor", 576 - "futures-io", 577 - "futures-sink", 578 - "futures-task", 579 - "futures-util", 580 - ] 581 - 582 - [[package]] 583 - name = "futures-channel" 584 - version = "0.3.31" 585 - source = "registry+https://github.com/rust-lang/crates.io-index" 586 - checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 587 - dependencies = [ 588 - "futures-core", 589 - "futures-sink", 590 - ] 591 - 592 - [[package]] 593 - name = "futures-core" 594 - version = "0.3.31" 595 - source = "registry+https://github.com/rust-lang/crates.io-index" 596 - checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 597 - 598 - [[package]] 599 - name = "futures-executor" 600 - version = "0.3.31" 601 - source = "registry+https://github.com/rust-lang/crates.io-index" 602 - checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" 603 - dependencies = [ 604 - "futures-core", 605 - "futures-task", 606 - "futures-util", 607 - ] 608 - 609 - [[package]] 610 - name = "futures-io" 611 - version = "0.3.31" 612 - source = "registry+https://github.com/rust-lang/crates.io-index" 613 - checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 614 - 615 - [[package]] 616 - name = "futures-macro" 617 - version = "0.3.31" 618 - source = "registry+https://github.com/rust-lang/crates.io-index" 619 - checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 620 - dependencies = [ 621 - "proc-macro2", 622 - "quote", 623 - "syn 2.0.106", 624 - ] 625 - 626 - [[package]] 627 - name = "futures-sink" 628 - version = "0.3.31" 629 - source = "registry+https://github.com/rust-lang/crates.io-index" 630 - checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 631 - 632 - [[package]] 633 - name = "futures-task" 634 - version = "0.3.31" 635 - source = "registry+https://github.com/rust-lang/crates.io-index" 636 - checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 637 - 638 - [[package]] 639 - name = "futures-util" 640 - version = "0.3.31" 641 - source = "registry+https://github.com/rust-lang/crates.io-index" 642 - checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 643 - dependencies = [ 644 - "futures-channel", 645 - "futures-core", 646 - "futures-io", 647 - "futures-macro", 648 - "futures-sink", 649 - "futures-task", 650 - "memchr", 651 - "pin-project-lite", 652 - "pin-utils", 653 - "slab", 654 - ] 655 - 656 - [[package]] 657 - name = "generic-array" 658 - version = "0.14.9" 659 - source = "registry+https://github.com/rust-lang/crates.io-index" 660 - checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" 661 - dependencies = [ 662 - "typenum", 663 - "version_check", 664 - ] 665 - 666 - [[package]] 667 231 name = "getrandom" 668 232 version = "0.3.3" 669 233 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 672 236 "cfg-if", 673 237 "libc", 674 238 "r-efi", 675 - "wasi 0.14.7+wasi-0.2.4", 676 - ] 677 - 678 - [[package]] 679 - name = "gimli" 680 - version = "0.32.3" 681 - source = "registry+https://github.com/rust-lang/crates.io-index" 682 - checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" 683 - 684 - [[package]] 685 - name = "half" 686 - version = "2.7.0" 687 - source = "registry+https://github.com/rust-lang/crates.io-index" 688 - checksum = "e54c115d4f30f52c67202f079c5f9d8b49db4691f460fdb0b4c2e838261b2ba5" 689 - dependencies = [ 690 - "cfg-if", 691 - "crunchy", 692 - "zerocopy", 239 + "wasi", 693 240 ] 694 241 695 242 [[package]] ··· 700 247 701 248 [[package]] 702 249 name = "hashbrown" 703 - version = "0.15.5" 704 - source = "registry+https://github.com/rust-lang/crates.io-index" 705 - checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 706 - dependencies = [ 707 - "foldhash", 708 - ] 709 - 710 - [[package]] 711 - name = "hashbrown" 712 250 version = "0.16.1" 713 251 source = "registry+https://github.com/rust-lang/crates.io-index" 714 252 checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 715 - 716 - [[package]] 717 - name = "hashlink" 718 - version = "0.10.0" 719 - source = "registry+https://github.com/rust-lang/crates.io-index" 720 - checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" 721 - dependencies = [ 722 - "hashbrown 0.15.5", 723 - ] 724 253 725 254 [[package]] 726 255 name = "heck" ··· 738 267 ] 739 268 740 269 [[package]] 741 - name = "io-uring" 742 - version = "0.7.10" 743 - source = "registry+https://github.com/rust-lang/crates.io-index" 744 - checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" 745 - dependencies = [ 746 - "bitflags", 747 - "cfg-if", 748 - "libc", 749 - ] 750 - 751 - [[package]] 752 - name = "ipld-core" 753 - version = "0.4.2" 754 - source = "registry+https://github.com/rust-lang/crates.io-index" 755 - checksum = "104718b1cc124d92a6d01ca9c9258a7df311405debb3408c445a36452f9bf8db" 756 - dependencies = [ 757 - "cid", 758 - "serde", 759 - "serde_bytes", 760 - ] 761 - 762 - [[package]] 763 - name = "iroh-car" 764 - version = "0.5.1" 765 - source = "registry+https://github.com/rust-lang/crates.io-index" 766 - checksum = "cb7f8cd4cb9aa083fba8b52e921764252d0b4dcb1cd6d120b809dbfe1106e81a" 767 - dependencies = [ 768 - "anyhow", 769 - "cid", 770 - "futures", 771 - "serde", 772 - "serde_ipld_dagcbor", 773 - "thiserror 1.0.69", 774 - "tokio", 775 - "unsigned-varint 0.7.2", 776 - ] 777 - 778 - [[package]] 779 270 name = "is_terminal_polyfill" 780 271 version = "1.70.1" 781 272 source = "registry+https://github.com/rust-lang/crates.io-index" 782 273 checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" 783 274 784 275 [[package]] 785 - name = "itertools" 786 - version = "0.13.0" 787 - source = "registry+https://github.com/rust-lang/crates.io-index" 788 - checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" 789 - dependencies = [ 790 - "either", 791 - ] 792 - 793 - [[package]] 794 - name = "itoa" 795 - version = "1.0.15" 796 - source = "registry+https://github.com/rust-lang/crates.io-index" 797 - checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 798 - 799 - [[package]] 800 - name = "jiff" 801 - version = "0.2.15" 802 - source = "registry+https://github.com/rust-lang/crates.io-index" 803 - checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" 804 - dependencies = [ 805 - "jiff-static", 806 - "log", 807 - "portable-atomic", 808 - "portable-atomic-util", 809 - "serde", 810 - ] 811 - 812 - [[package]] 813 - name = "jiff-static" 814 - version = "0.2.15" 815 - source = "registry+https://github.com/rust-lang/crates.io-index" 816 - checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" 817 - dependencies = [ 818 - "proc-macro2", 819 - "quote", 820 - "syn 2.0.106", 821 - ] 822 - 823 - [[package]] 824 - name = "js-sys" 825 - version = "0.3.81" 826 - source = "registry+https://github.com/rust-lang/crates.io-index" 827 - checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" 828 - dependencies = [ 829 - "once_cell", 830 - "wasm-bindgen", 831 - ] 832 - 833 - [[package]] 834 276 name = "libc" 835 277 version = "0.2.176" 836 278 source = "registry+https://github.com/rust-lang/crates.io-index" 837 279 checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" 838 - 839 - [[package]] 840 - name = "libsqlite3-sys" 841 - version = "0.35.0" 842 - source = "registry+https://github.com/rust-lang/crates.io-index" 843 - checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" 844 - dependencies = [ 845 - "pkg-config", 846 - "vcpkg", 847 - ] 848 280 849 281 [[package]] 850 282 name = "linux-raw-sys" ··· 899 331 ] 900 332 901 333 [[package]] 902 - name = "match-lookup" 903 - version = "0.1.1" 904 - source = "registry+https://github.com/rust-lang/crates.io-index" 905 - checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" 906 - dependencies = [ 907 - "proc-macro2", 908 - "quote", 909 - "syn 1.0.109", 910 - ] 911 - 912 - [[package]] 913 - name = "memchr" 914 - version = "2.7.6" 915 - source = "registry+https://github.com/rust-lang/crates.io-index" 916 - checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" 917 - 918 - [[package]] 919 - name = "miniz_oxide" 920 - version = "0.8.9" 921 - source = "registry+https://github.com/rust-lang/crates.io-index" 922 - checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 923 - dependencies = [ 924 - "adler2", 925 - ] 926 - 927 - [[package]] 928 - name = "mio" 929 - version = "1.0.4" 930 - source = "registry+https://github.com/rust-lang/crates.io-index" 931 - checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 932 - dependencies = [ 933 - "libc", 934 - "wasi 0.11.1+wasi-snapshot-preview1", 935 - "windows-sys 0.59.0", 936 - ] 937 - 938 - [[package]] 939 - name = "multibase" 940 - version = "0.9.2" 941 - source = "registry+https://github.com/rust-lang/crates.io-index" 942 - checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77" 943 - dependencies = [ 944 - "base-x", 945 - "base256emoji", 946 - "data-encoding", 947 - "data-encoding-macro", 948 - ] 949 - 950 - [[package]] 951 - name = "multihash" 952 - version = "0.19.3" 953 - source = "registry+https://github.com/rust-lang/crates.io-index" 954 - checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" 955 - dependencies = [ 956 - "core2", 957 - "serde", 958 - "unsigned-varint 0.8.0", 959 - ] 960 - 961 - [[package]] 962 - name = "num-traits" 963 - version = "0.2.19" 964 - source = "registry+https://github.com/rust-lang/crates.io-index" 965 - checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 966 - dependencies = [ 967 - "autocfg", 968 - ] 969 - 970 - [[package]] 971 - name = "object" 972 - version = "0.37.3" 973 - source = "registry+https://github.com/rust-lang/crates.io-index" 974 - checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" 975 - dependencies = [ 976 - "memchr", 977 - ] 978 - 979 - [[package]] 980 334 name = "once_cell" 981 335 version = "1.21.3" 982 336 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 989 343 checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" 990 344 991 345 [[package]] 992 - name = "oorandom" 993 - version = "11.1.5" 994 - source = "registry+https://github.com/rust-lang/crates.io-index" 995 - checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" 996 - 997 - [[package]] 998 - name = "parking_lot" 999 - version = "0.12.5" 1000 - source = "registry+https://github.com/rust-lang/crates.io-index" 1001 - checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 1002 - dependencies = [ 1003 - "lock_api", 1004 - "parking_lot_core", 1005 - ] 1006 - 1007 - [[package]] 1008 346 name = "parking_lot_core" 1009 347 version = "0.9.12" 1010 348 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1018 356 ] 1019 357 1020 358 [[package]] 1021 - name = "pin-project-lite" 1022 - version = "0.2.16" 1023 - source = "registry+https://github.com/rust-lang/crates.io-index" 1024 - checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 1025 - 1026 - [[package]] 1027 - name = "pin-utils" 1028 - version = "0.1.0" 1029 - source = "registry+https://github.com/rust-lang/crates.io-index" 1030 - checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1031 - 1032 - [[package]] 1033 - name = "pkg-config" 1034 - version = "0.3.32" 1035 - source = "registry+https://github.com/rust-lang/crates.io-index" 1036 - checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 1037 - 1038 - [[package]] 1039 - name = "plotters" 1040 - version = "0.3.7" 1041 - source = "registry+https://github.com/rust-lang/crates.io-index" 1042 - checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" 1043 - dependencies = [ 1044 - "num-traits", 1045 - "plotters-backend", 1046 - "plotters-svg", 1047 - "wasm-bindgen", 1048 - "web-sys", 1049 - ] 1050 - 1051 - [[package]] 1052 - name = "plotters-backend" 1053 - version = "0.3.7" 1054 - source = "registry+https://github.com/rust-lang/crates.io-index" 1055 - checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" 1056 - 1057 - [[package]] 1058 - name = "plotters-svg" 1059 - version = "0.3.7" 1060 - source = "registry+https://github.com/rust-lang/crates.io-index" 1061 - checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" 1062 - dependencies = [ 1063 - "plotters-backend", 1064 - ] 1065 - 1066 - [[package]] 1067 - name = "portable-atomic" 1068 - version = "1.11.1" 1069 - source = "registry+https://github.com/rust-lang/crates.io-index" 1070 - checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" 1071 - 1072 - [[package]] 1073 - name = "portable-atomic-util" 1074 - version = "0.2.4" 1075 - source = "registry+https://github.com/rust-lang/crates.io-index" 1076 - checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" 1077 - dependencies = [ 1078 - "portable-atomic", 1079 - ] 1080 - 1081 - [[package]] 1082 359 name = "proc-macro2" 1083 360 version = "1.0.101" 1084 361 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1113 390 checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 1114 391 1115 392 [[package]] 1116 - name = "rayon" 1117 - version = "1.11.0" 1118 - source = "registry+https://github.com/rust-lang/crates.io-index" 1119 - checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" 1120 - dependencies = [ 1121 - "either", 1122 - "rayon-core", 1123 - ] 1124 - 1125 - [[package]] 1126 - name = "rayon-core" 1127 - version = "1.13.0" 1128 - source = "registry+https://github.com/rust-lang/crates.io-index" 1129 - checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" 1130 - dependencies = [ 1131 - "crossbeam-deque", 1132 - "crossbeam-utils", 1133 - ] 1134 - 1135 - [[package]] 1136 393 name = "redox_syscall" 1137 394 version = "0.5.18" 1138 395 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1142 399 ] 1143 400 1144 401 [[package]] 1145 - name = "regex" 1146 - version = "1.11.3" 1147 - source = "registry+https://github.com/rust-lang/crates.io-index" 1148 - checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" 1149 - dependencies = [ 1150 - "aho-corasick", 1151 - "memchr", 1152 - "regex-automata", 1153 - "regex-syntax", 1154 - ] 1155 - 1156 - [[package]] 1157 - name = "regex-automata" 1158 - version = "0.4.11" 1159 - source = "registry+https://github.com/rust-lang/crates.io-index" 1160 - checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" 1161 - dependencies = [ 1162 - "aho-corasick", 1163 - "memchr", 1164 - "regex-syntax", 1165 - ] 1166 - 1167 - [[package]] 1168 - name = "regex-syntax" 1169 - version = "0.8.6" 1170 - source = "registry+https://github.com/rust-lang/crates.io-index" 1171 - checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" 1172 - 1173 - [[package]] 1174 402 name = "repo-stream" 1175 403 version = "0.2.2" 1176 404 dependencies = [ 1177 - "bincode", 1178 405 "clap", 1179 - "criterion", 1180 - "env_logger", 1181 406 "fjall", 1182 - "futures", 1183 - "futures-core", 1184 - "ipld-core", 1185 - "iroh-car", 1186 - "log", 1187 - "multibase", 1188 - "rusqlite", 1189 - "serde", 1190 - "serde_bytes", 1191 - "serde_ipld_dagcbor", 1192 - "sha2", 1193 - "tempfile", 1194 - "thiserror 2.0.17", 1195 - "tokio", 1196 407 ] 1197 408 1198 409 [[package]] 1199 - name = "rusqlite" 1200 - version = "0.37.0" 1201 - source = "registry+https://github.com/rust-lang/crates.io-index" 1202 - checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" 1203 - dependencies = [ 1204 - "bitflags", 1205 - "fallible-iterator", 1206 - "fallible-streaming-iterator", 1207 - "hashlink", 1208 - "libsqlite3-sys", 1209 - "smallvec", 1210 - ] 1211 - 1212 - [[package]] 1213 - name = "rustc-demangle" 1214 - version = "0.1.26" 1215 - source = "registry+https://github.com/rust-lang/crates.io-index" 1216 - checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" 1217 - 1218 - [[package]] 1219 410 name = "rustc-hash" 1220 411 version = "2.1.1" 1221 412 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1231 422 "errno", 1232 423 "libc", 1233 424 "linux-raw-sys", 1234 - "windows-sys 0.60.2", 1235 - ] 1236 - 1237 - [[package]] 1238 - name = "rustversion" 1239 - version = "1.0.22" 1240 - source = "registry+https://github.com/rust-lang/crates.io-index" 1241 - checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 1242 - 1243 - [[package]] 1244 - name = "ryu" 1245 - version = "1.0.20" 1246 - source = "registry+https://github.com/rust-lang/crates.io-index" 1247 - checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1248 - 1249 - [[package]] 1250 - name = "same-file" 1251 - version = "1.0.6" 1252 - source = "registry+https://github.com/rust-lang/crates.io-index" 1253 - checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1254 - dependencies = [ 1255 - "winapi-util", 425 + "windows-sys", 1256 426 ] 1257 427 1258 428 [[package]] ··· 1268 438 checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" 1269 439 1270 440 [[package]] 1271 - name = "serde" 1272 - version = "1.0.228" 1273 - source = "registry+https://github.com/rust-lang/crates.io-index" 1274 - checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 1275 - dependencies = [ 1276 - "serde_core", 1277 - "serde_derive", 1278 - ] 1279 - 1280 - [[package]] 1281 - name = "serde_bytes" 1282 - version = "0.11.19" 1283 - source = "registry+https://github.com/rust-lang/crates.io-index" 1284 - checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" 1285 - dependencies = [ 1286 - "serde", 1287 - "serde_core", 1288 - ] 1289 - 1290 - [[package]] 1291 - name = "serde_core" 1292 - version = "1.0.228" 1293 - source = "registry+https://github.com/rust-lang/crates.io-index" 1294 - checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 1295 - dependencies = [ 1296 - "serde_derive", 1297 - ] 1298 - 1299 - [[package]] 1300 - name = "serde_derive" 1301 - version = "1.0.228" 1302 - source = "registry+https://github.com/rust-lang/crates.io-index" 1303 - checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 1304 - dependencies = [ 1305 - "proc-macro2", 1306 - "quote", 1307 - "syn 2.0.106", 1308 - ] 1309 - 1310 - [[package]] 1311 - name = "serde_ipld_dagcbor" 1312 - version = "0.6.4" 1313 - source = "registry+https://github.com/rust-lang/crates.io-index" 1314 - checksum = "46182f4f08349a02b45c998ba3215d3f9de826246ba02bb9dddfe9a2a2100778" 1315 - dependencies = [ 1316 - "cbor4ii", 1317 - "ipld-core", 1318 - "scopeguard", 1319 - "serde", 1320 - ] 1321 - 1322 - [[package]] 1323 - name = "serde_json" 1324 - version = "1.0.145" 1325 - source = "registry+https://github.com/rust-lang/crates.io-index" 1326 - checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" 1327 - dependencies = [ 1328 - "itoa", 1329 - "memchr", 1330 - "ryu", 1331 - "serde", 1332 - "serde_core", 1333 - ] 1334 - 1335 - [[package]] 1336 441 name = "sfa" 1337 442 version = "1.0.0" 1338 443 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1344 449 ] 1345 450 1346 451 [[package]] 1347 - name = "sha2" 1348 - version = "0.10.9" 1349 - source = "registry+https://github.com/rust-lang/crates.io-index" 1350 - checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 1351 - dependencies = [ 1352 - "cfg-if", 1353 - "cpufeatures", 1354 - "digest", 1355 - ] 1356 - 1357 - [[package]] 1358 - name = "signal-hook-registry" 1359 - version = "1.4.6" 1360 - source = "registry+https://github.com/rust-lang/crates.io-index" 1361 - checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" 1362 - dependencies = [ 1363 - "libc", 1364 - ] 1365 - 1366 - [[package]] 1367 - name = "slab" 1368 - version = "0.4.11" 1369 - source = "registry+https://github.com/rust-lang/crates.io-index" 1370 - checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" 1371 - 1372 - [[package]] 1373 452 name = "smallvec" 1374 453 version = "1.15.1" 1375 454 source = "registry+https://github.com/rust-lang/crates.io-index" 1376 455 checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 1377 - 1378 - [[package]] 1379 - name = "socket2" 1380 - version = "0.6.0" 1381 - source = "registry+https://github.com/rust-lang/crates.io-index" 1382 - checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" 1383 - dependencies = [ 1384 - "libc", 1385 - "windows-sys 0.59.0", 1386 - ] 1387 456 1388 457 [[package]] 1389 458 name = "spin" ··· 1402 471 1403 472 [[package]] 1404 473 name = "syn" 1405 - version = "1.0.109" 1406 - source = "registry+https://github.com/rust-lang/crates.io-index" 1407 - checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1408 - dependencies = [ 1409 - "proc-macro2", 1410 - "quote", 1411 - "unicode-ident", 1412 - ] 1413 - 1414 - [[package]] 1415 - name = "syn" 1416 474 version = "2.0.106" 1417 475 source = "registry+https://github.com/rust-lang/crates.io-index" 1418 476 checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" ··· 1432 490 "getrandom", 1433 491 "once_cell", 1434 492 "rustix", 1435 - "windows-sys 0.60.2", 1436 - ] 1437 - 1438 - [[package]] 1439 - name = "thiserror" 1440 - version = "1.0.69" 1441 - source = "registry+https://github.com/rust-lang/crates.io-index" 1442 - checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1443 - dependencies = [ 1444 - "thiserror-impl 1.0.69", 1445 - ] 1446 - 1447 - [[package]] 1448 - name = "thiserror" 1449 - version = "2.0.17" 1450 - source = "registry+https://github.com/rust-lang/crates.io-index" 1451 - checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" 1452 - dependencies = [ 1453 - "thiserror-impl 2.0.17", 1454 - ] 1455 - 1456 - [[package]] 1457 - name = "thiserror-impl" 1458 - version = "1.0.69" 1459 - source = "registry+https://github.com/rust-lang/crates.io-index" 1460 - checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1461 - dependencies = [ 1462 - "proc-macro2", 1463 - "quote", 1464 - "syn 2.0.106", 1465 - ] 1466 - 1467 - [[package]] 1468 - name = "thiserror-impl" 1469 - version = "2.0.17" 1470 - source = "registry+https://github.com/rust-lang/crates.io-index" 1471 - checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" 1472 - dependencies = [ 1473 - "proc-macro2", 1474 - "quote", 1475 - "syn 2.0.106", 1476 - ] 1477 - 1478 - [[package]] 1479 - name = "tinytemplate" 1480 - version = "1.2.1" 1481 - source = "registry+https://github.com/rust-lang/crates.io-index" 1482 - checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" 1483 - dependencies = [ 1484 - "serde", 1485 - "serde_json", 1486 - ] 1487 - 1488 - [[package]] 1489 - name = "tokio" 1490 - version = "1.47.1" 1491 - source = "registry+https://github.com/rust-lang/crates.io-index" 1492 - checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 1493 - dependencies = [ 1494 - "backtrace", 1495 - "bytes", 1496 - "io-uring", 1497 - "libc", 1498 - "mio", 1499 - "parking_lot", 1500 - "pin-project-lite", 1501 - "signal-hook-registry", 1502 - "slab", 1503 - "socket2", 1504 - "tokio-macros", 1505 - "windows-sys 0.59.0", 1506 - ] 1507 - 1508 - [[package]] 1509 - name = "tokio-macros" 1510 - version = "2.5.0" 1511 - source = "registry+https://github.com/rust-lang/crates.io-index" 1512 - checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 1513 - dependencies = [ 1514 - "proc-macro2", 1515 - "quote", 1516 - "syn 2.0.106", 493 + "windows-sys", 1517 494 ] 1518 495 1519 496 [[package]] ··· 1523 500 checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" 1524 501 1525 502 [[package]] 1526 - name = "typenum" 1527 - version = "1.19.0" 1528 - source = "registry+https://github.com/rust-lang/crates.io-index" 1529 - checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 1530 - 1531 - [[package]] 1532 503 name = "unicode-ident" 1533 504 version = "1.0.19" 1534 505 source = "registry+https://github.com/rust-lang/crates.io-index" 1535 506 checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" 1536 507 1537 508 [[package]] 1538 - name = "unsigned-varint" 1539 - version = "0.7.2" 1540 - source = "registry+https://github.com/rust-lang/crates.io-index" 1541 - checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" 1542 - 1543 - [[package]] 1544 - name = "unsigned-varint" 1545 - version = "0.8.0" 1546 - source = "registry+https://github.com/rust-lang/crates.io-index" 1547 - checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" 1548 - 1549 - [[package]] 1550 - name = "unty" 1551 - version = "0.0.4" 1552 - source = "registry+https://github.com/rust-lang/crates.io-index" 1553 - checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" 1554 - 1555 - [[package]] 1556 509 name = "utf8parse" 1557 510 version = "0.2.2" 1558 511 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1565 518 checksum = "8f54a172d0620933a27a4360d3db3e2ae0dd6cceae9730751a036bbf182c4b23" 1566 519 1567 520 [[package]] 1568 - name = "vcpkg" 1569 - version = "0.2.15" 1570 - source = "registry+https://github.com/rust-lang/crates.io-index" 1571 - checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1572 - 1573 - [[package]] 1574 - name = "version_check" 1575 - version = "0.9.5" 1576 - source = "registry+https://github.com/rust-lang/crates.io-index" 1577 - checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 1578 - 1579 - [[package]] 1580 - name = "virtue" 1581 - version = "0.0.18" 1582 - source = "registry+https://github.com/rust-lang/crates.io-index" 1583 - checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1" 1584 - 1585 - [[package]] 1586 - name = "walkdir" 1587 - version = "2.5.0" 1588 - source = "registry+https://github.com/rust-lang/crates.io-index" 1589 - checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 1590 - dependencies = [ 1591 - "same-file", 1592 - "winapi-util", 1593 - ] 1594 - 1595 - [[package]] 1596 - name = "wasi" 1597 - version = "0.11.1+wasi-snapshot-preview1" 1598 - source = "registry+https://github.com/rust-lang/crates.io-index" 1599 - checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 1600 - 1601 - [[package]] 1602 521 name = "wasi" 1603 522 version = "0.14.7+wasi-0.2.4" 1604 523 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1617 536 ] 1618 537 1619 538 [[package]] 1620 - name = "wasm-bindgen" 1621 - version = "0.2.104" 1622 - source = "registry+https://github.com/rust-lang/crates.io-index" 1623 - checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" 1624 - dependencies = [ 1625 - "cfg-if", 1626 - "once_cell", 1627 - "rustversion", 1628 - "wasm-bindgen-macro", 1629 - "wasm-bindgen-shared", 1630 - ] 1631 - 1632 - [[package]] 1633 - name = "wasm-bindgen-backend" 1634 - version = "0.2.104" 1635 - source = "registry+https://github.com/rust-lang/crates.io-index" 1636 - checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" 1637 - dependencies = [ 1638 - "bumpalo", 1639 - "log", 1640 - "proc-macro2", 1641 - "quote", 1642 - "syn 2.0.106", 1643 - "wasm-bindgen-shared", 1644 - ] 1645 - 1646 - [[package]] 1647 - name = "wasm-bindgen-macro" 1648 - version = "0.2.104" 1649 - source = "registry+https://github.com/rust-lang/crates.io-index" 1650 - checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" 1651 - dependencies = [ 1652 - "quote", 1653 - "wasm-bindgen-macro-support", 1654 - ] 1655 - 1656 - [[package]] 1657 - name = "wasm-bindgen-macro-support" 1658 - version = "0.2.104" 1659 - source = "registry+https://github.com/rust-lang/crates.io-index" 1660 - checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" 1661 - dependencies = [ 1662 - "proc-macro2", 1663 - "quote", 1664 - "syn 2.0.106", 1665 - "wasm-bindgen-backend", 1666 - "wasm-bindgen-shared", 1667 - ] 1668 - 1669 - [[package]] 1670 - name = "wasm-bindgen-shared" 1671 - version = "0.2.104" 1672 - source = "registry+https://github.com/rust-lang/crates.io-index" 1673 - checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" 1674 - dependencies = [ 1675 - "unicode-ident", 1676 - ] 1677 - 1678 - [[package]] 1679 - name = "web-sys" 1680 - version = "0.3.81" 1681 - source = "registry+https://github.com/rust-lang/crates.io-index" 1682 - checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" 1683 - dependencies = [ 1684 - "js-sys", 1685 - "wasm-bindgen", 1686 - ] 1687 - 1688 - [[package]] 1689 - name = "winapi-util" 1690 - version = "0.1.11" 1691 - source = "registry+https://github.com/rust-lang/crates.io-index" 1692 - checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" 1693 - dependencies = [ 1694 - "windows-sys 0.60.2", 1695 - ] 1696 - 1697 - [[package]] 1698 539 name = "windows-link" 1699 540 version = "0.2.1" 1700 541 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1702 543 1703 544 [[package]] 1704 545 name = "windows-sys" 1705 - version = "0.59.0" 1706 - source = "registry+https://github.com/rust-lang/crates.io-index" 1707 - checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 1708 - dependencies = [ 1709 - "windows-targets 0.52.6", 1710 - ] 1711 - 1712 - [[package]] 1713 - name = "windows-sys" 1714 546 version = "0.60.2" 1715 547 source = "registry+https://github.com/rust-lang/crates.io-index" 1716 548 checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 1717 549 dependencies = [ 1718 - "windows-targets 0.53.5", 1719 - ] 1720 - 1721 - [[package]] 1722 - name = "windows-targets" 1723 - version = "0.52.6" 1724 - source = "registry+https://github.com/rust-lang/crates.io-index" 1725 - checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1726 - dependencies = [ 1727 - "windows_aarch64_gnullvm 0.52.6", 1728 - "windows_aarch64_msvc 0.52.6", 1729 - "windows_i686_gnu 0.52.6", 1730 - "windows_i686_gnullvm 0.52.6", 1731 - "windows_i686_msvc 0.52.6", 1732 - "windows_x86_64_gnu 0.52.6", 1733 - "windows_x86_64_gnullvm 0.52.6", 1734 - "windows_x86_64_msvc 0.52.6", 550 + "windows-targets", 1735 551 ] 1736 552 1737 553 [[package]] ··· 1741 557 checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" 1742 558 dependencies = [ 1743 559 "windows-link", 1744 - "windows_aarch64_gnullvm 0.53.1", 1745 - "windows_aarch64_msvc 0.53.1", 1746 - "windows_i686_gnu 0.53.1", 1747 - "windows_i686_gnullvm 0.53.1", 1748 - "windows_i686_msvc 0.53.1", 1749 - "windows_x86_64_gnu 0.53.1", 1750 - "windows_x86_64_gnullvm 0.53.1", 1751 - "windows_x86_64_msvc 0.53.1", 560 + "windows_aarch64_gnullvm", 561 + "windows_aarch64_msvc", 562 + "windows_i686_gnu", 563 + "windows_i686_gnullvm", 564 + "windows_i686_msvc", 565 + "windows_x86_64_gnu", 566 + "windows_x86_64_gnullvm", 567 + "windows_x86_64_msvc", 1752 568 ] 1753 - 1754 - [[package]] 1755 - name = "windows_aarch64_gnullvm" 1756 - version = "0.52.6" 1757 - source = "registry+https://github.com/rust-lang/crates.io-index" 1758 - checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1759 569 1760 570 [[package]] 1761 571 name = "windows_aarch64_gnullvm" ··· 1765 575 1766 576 [[package]] 1767 577 name = "windows_aarch64_msvc" 1768 - version = "0.52.6" 1769 - source = "registry+https://github.com/rust-lang/crates.io-index" 1770 - checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1771 - 1772 - [[package]] 1773 - name = "windows_aarch64_msvc" 1774 578 version = "0.53.1" 1775 579 source = "registry+https://github.com/rust-lang/crates.io-index" 1776 580 checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 1777 - 1778 - [[package]] 1779 - name = "windows_i686_gnu" 1780 - version = "0.52.6" 1781 - source = "registry+https://github.com/rust-lang/crates.io-index" 1782 - checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 1783 581 1784 582 [[package]] 1785 583 name = "windows_i686_gnu" ··· 1789 587 1790 588 [[package]] 1791 589 name = "windows_i686_gnullvm" 1792 - version = "0.52.6" 1793 - source = "registry+https://github.com/rust-lang/crates.io-index" 1794 - checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 1795 - 1796 - [[package]] 1797 - name = "windows_i686_gnullvm" 1798 590 version = "0.53.1" 1799 591 source = "registry+https://github.com/rust-lang/crates.io-index" 1800 592 checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 1801 593 1802 594 [[package]] 1803 595 name = "windows_i686_msvc" 1804 - version = "0.52.6" 1805 - source = "registry+https://github.com/rust-lang/crates.io-index" 1806 - checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1807 - 1808 - [[package]] 1809 - name = "windows_i686_msvc" 1810 596 version = "0.53.1" 1811 597 source = "registry+https://github.com/rust-lang/crates.io-index" 1812 598 checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 1813 599 1814 600 [[package]] 1815 601 name = "windows_x86_64_gnu" 1816 - version = "0.52.6" 1817 - source = "registry+https://github.com/rust-lang/crates.io-index" 1818 - checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1819 - 1820 - [[package]] 1821 - name = "windows_x86_64_gnu" 1822 602 version = "0.53.1" 1823 603 source = "registry+https://github.com/rust-lang/crates.io-index" 1824 604 checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 1825 605 1826 606 [[package]] 1827 607 name = "windows_x86_64_gnullvm" 1828 - version = "0.52.6" 1829 - source = "registry+https://github.com/rust-lang/crates.io-index" 1830 - checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 1831 - 1832 - [[package]] 1833 - name = "windows_x86_64_gnullvm" 1834 608 version = "0.53.1" 1835 609 source = "registry+https://github.com/rust-lang/crates.io-index" 1836 610 checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 1837 - 1838 - [[package]] 1839 - name = "windows_x86_64_msvc" 1840 - version = "0.52.6" 1841 - source = "registry+https://github.com/rust-lang/crates.io-index" 1842 - checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1843 611 1844 612 [[package]] 1845 613 name = "windows_x86_64_msvc" ··· 1858 626 version = "0.8.15" 1859 627 source = "registry+https://github.com/rust-lang/crates.io-index" 1860 628 checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" 1861 - 1862 - [[package]] 1863 - name = "zerocopy" 1864 - version = "0.8.27" 1865 - source = "registry+https://github.com/rust-lang/crates.io-index" 1866 - checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" 1867 - dependencies = [ 1868 - "zerocopy-derive", 1869 - ] 1870 - 1871 - [[package]] 1872 - name = "zerocopy-derive" 1873 - version = "0.8.27" 1874 - source = "registry+https://github.com/rust-lang/crates.io-index" 1875 - checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" 1876 - dependencies = [ 1877 - "proc-macro2", 1878 - "quote", 1879 - "syn 2.0.106", 1880 - ]
-35
Cargo.toml
··· 7 7 repository = "https://tangled.org/@microcosm.blue/repo-stream" 8 8 9 9 [dependencies] 10 - bincode = { version = "2.0.1", features = ["serde"] } 11 10 fjall = "3.0.0" 12 - futures = "0.3.31" 13 - futures-core = "0.3.31" 14 - ipld-core = { version = "0.4.2", features = ["serde"] } 15 - iroh-car = "0.5.1" 16 - log = "0.4.28" 17 - multibase = "0.9.2" 18 - rusqlite = "0.37.0" 19 - serde = { version = "1.0.228", features = ["derive"] } 20 - serde_bytes = "0.11.19" 21 - serde_ipld_dagcbor = "0.6.4" 22 - sha2 = "0.10.9" 23 - thiserror = "2.0.17" 24 - tokio = { version = "1.47.1", features = ["rt", "sync"] } 25 - 26 - [dev-dependencies] 27 11 clap = { version = "4.5.48", features = ["derive"] } 28 - criterion = { version = "0.7.0", features = ["async_tokio"] } 29 - env_logger = "0.11.8" 30 - multibase = "0.9.2" 31 - tempfile = "3.23.0" 32 - tokio = { version = "1.47.1", features = ["full"] } 33 12 34 - [profile.profiling] 35 - inherits = "release" 36 - debug = true 37 - 38 - # [profile.release] 39 - # debug = true 40 - 41 - [[bench]] 42 - name = "non-huge-cars" 43 - harness = false 44 - 45 - [[bench]] 46 - name = "huge-car" 47 - harness = false
+7 -10
examples/disk-read-file/main.rs
··· 1 1 use clap::Parser; 2 2 use fjall::{Database, KeyspaceCreateOptions}; 3 - use std::{path::PathBuf, time::Instant, collections::HashMap}; 3 + use std::{path::PathBuf, collections::BTreeMap}; 4 4 5 5 #[derive(Debug, Parser)] 6 6 struct Args { ··· 9 9 } 10 10 11 11 fn main() -> Result<(), Box<dyn std::error::Error>> { 12 - env_logger::init(); 13 12 let Args { db_path } = Args::parse(); 14 13 15 14 let db = Database::builder(db_path).open()?; 16 15 let ks = db.keyspace("z", KeyspaceCreateOptions::default)?; 16 + let mut seen_keys: BTreeMap<Vec<u8>, usize> = BTreeMap::default(); 17 17 18 - let t0 = Instant::now(); 19 - let mut seen_keys: HashMap<Vec<u8>, usize> = HashMap::default(); 20 - 21 - log::info!("writing stuff..."); 18 + print!("writing..."); 22 19 for i in 0..250_000_usize { 23 20 let k = i.to_be_bytes().to_vec(); 24 21 ks.insert(k.clone(), vec![0xAA; 256])?; 25 22 seen_keys.insert(k, i); 26 23 } 27 24 28 - log::warn!("blocks loaded. ({:?}) checking keys...", t0.elapsed()); 25 + println!(" done. checking keys..."); 29 26 30 27 // remove every seen key that fjall actually has, to see what's left 31 28 for guard in ks.iter() { ··· 34 31 35 32 // report the result 36 33 if seen_keys.len() == 0 { 37 - log::info!("all keys found ({:?}).", t0.elapsed()); 34 + println!("[ OK ] all keys found"); 38 35 } else { 39 - log::info!("fjall did not have all seen_keys: ({:?})", t0.elapsed()); 36 + println!("[FAIL] fjall did not have all seen_keys:"); 40 37 for (k, i) in seen_keys { 41 - log::warn!("no. {i}, key bytes: {k:?}"); 38 + println!(" insert #{i} missing, key bytes: {k:?}"); 42 39 } 43 40 } 44 41