1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
[]
= "decdn-cache"
= true
= true
= true
= true
= "Cache engine wrapping iroh-blobs with origin pull-through for deCDN"
= true
= true
= "README.md"
= true
= true
[]
= { = true }
= { = true }
# Iroh-blobs-free bao verified-range helpers (alignment / encoded-size / verify),
# shared with decdn-client (#578, #915). Re-exported via `crate::range_pull`.
= { = true }
= { = true }
= { = true }
= { = true }
# `AsyncStreamReader` bound for `CacheEngine::admit_bao_stream`: the upstream
# reader driving a range admit, kept independent of
# any `decdn-client` type so `cache` stays leaf w.r.t. `decdn-client` (#578).
= { = true }
# bao verified-range codec for origin range-pull verification (#823): turn a
# raw origin range `[a, b)` + the published `{H}.obao4` outboard into a
# bao-encoded stream verified against the root `H`, ready for `import_bao_bytes`.
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
# reqwest is built with `rustls-no-provider`; `HttpOrigin` installs ring as the
# process-wide provider before it builds its client.
= { = true }
# Streaming primitives for origin pull-through (issue #271). `futures-util`
# brings `Stream` + combinators; `tokio-util` brings `ReaderStream` /
# `StreamReader` used by FilesystemOrigin and the HTTP decompression
# pipeline; `async-compression` decompresses gzip/zstd in the stream
# pipeline. All MIT/Apache-2.0, allowed by deny.toml.
= { = true }
= { = true }
= { = true }
# Atomic swap of the pinned-hashes set on SIGHUP (#276). Matches the
# Arc<AtomicU64> pattern used for payment.rate_per_mb (commit 166ae41) — the
# pinned set is non-Copy so AtomicU64 can't carry it; ArcSwap is the
# standard fix and is MIT/Apache-2.0.
= "1"
# Shards the per-hash LRU access-time map so a stream-completion `record_access`
# touches one shard while the eviction sweep walks the others. Same crate the
# node crate already uses for its sharded per-peer maps.
= { = true }
# Jitter for the origin retry/backoff loop (#285). Uses `rand::random::<f64>()`
# only; no per-call state, so no RNG instance is held.
= { = true }
# AWS SDK pieces for the S3 origin (#437). See the workspace
# `[workspace.dependencies]` block for the rationale on each
# `default-features = false` choice and the hyper-1 + aws-lc-rs binding.
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
= { = true }
[]
# Shared RangedStore conformance suite, run against a concrete backend
# (NodeRangedStore).
= { = true, = ["test-util"] }
= { = true }
= { = true }
# Test fixtures construct gzipped / zstd response bodies for the
# HttpOrigin decompression tests. The runtime decoders are
# `async-compression` (#271); these crates are only the test-side
# encoders.
= "1"
= "0.14"
# Operation-level S3 mocks (#437). The `mock_client!` macro builds an
# `aws_sdk_s3::Client` whose dispatcher returns canned responses, so
# `S3Origin` can be exercised end-to-end without standing up MinIO.
= { = true }
# Re-list `aws-sdk-s3` with the `test-util` feature — cargo unifies feature
# sets between deps and dev-deps, so this turns on the test-only constructors
# (notably `aws_sdk_s3::config::Builder::new()`-friendly helpers used by
# `mock_client!`) for the dev build only. Standard cargo idiom for differing
# prod/dev feature sets.
= { = true, = ["test-util"] }
# Wire-form pinning tests for `OriginKind` and any other operator-visible
# JSON serialised by this crate (#439).
= { = true }
[]
= true