|
1 |
| -[workspace] |
2 |
| -members = [ |
3 |
| - "iroh-blobs", |
4 |
| -] |
5 |
| -resolver = "2" |
6 |
| - |
7 |
| -[profile.release] |
8 |
| -debug = true |
9 |
| - |
10 |
| -[profile.dev-ci] |
11 |
| -inherits = 'dev' |
12 |
| -opt-level = 1 |
13 |
| - |
14 |
| -[profile.optimized-release] |
15 |
| -inherits = 'release' |
16 |
| -debug = false |
17 |
| -lto = true |
18 |
| -debug-assertions = false |
19 |
| -opt-level = 3 |
20 |
| -panic = 'abort' |
21 |
| -incremental = false |
22 |
| - |
23 |
| - |
24 |
| -[workspace.lints.rust] |
25 |
| -missing_debug_implementations = "warn" |
26 |
| - |
27 |
| -# We use this --cfg for documenting the cargo features on which an API |
28 |
| -# is available. To preview this locally use: RUSTFLAGS="--cfg |
29 |
| -# iroh_docsrs cargo +nightly doc --all-features". We use our own |
30 |
| -# iroh_docsrs instead of the common docsrs to avoid also enabling this |
31 |
| -# feature in any dependencies, because some indirect dependencies |
32 |
| -# require a feature enabled when using `--cfg docsrs` which we can not |
33 |
| -# do. To enable for a crate set `#![cfg_attr(iroh_docsrs, |
34 |
| -# feature(doc_cfg))]` in the crate. |
35 |
| -unexpected_cfgs = { level = "warn", check-cfg = ["cfg(iroh_docsrs)"] } |
36 |
| - |
37 |
| -[workspace.lints.clippy] |
38 |
| -unused-async = "warn" |
| 1 | +[package] |
| 2 | +name = "iroh-blobs" |
| 3 | +version = "0.27.0" |
| 4 | +edition = "2021" |
| 5 | +readme = "README.md" |
| 6 | +description = "blob and collection transfer support for iroh" |
| 7 | +license = "MIT OR Apache-2.0" |
| 8 | +authors = [ "dignifiedquire <[email protected]>", "n0 team"] |
| 9 | +repository = "https://github.com/n0-computer/iroh-blobs" |
| 10 | +keywords = ["hashing", "quic", "blake3"] |
| 11 | + |
| 12 | +# Sadly this also needs to be updated in .github/workflows/ci.yml |
| 13 | +rust-version = "1.76" |
| 14 | + |
| 15 | +[dependencies] |
| 16 | +anyhow = { version = "1" } |
| 17 | +async-channel = "2.3.1" |
| 18 | +bao-tree = { version = "0.13", features = ["tokio_fsm", "validate"], default-features = false } |
| 19 | +bytes = { version = "1.7", features = ["serde"] } |
| 20 | +chrono = "0.4.31" |
| 21 | +derive_more = { version = "1.0.0", features = ["debug", "display", "deref", "deref_mut", "from", "try_into", "into"] } |
| 22 | +futures-buffered = "0.2.4" |
| 23 | +futures-lite = "2.3" |
| 24 | +genawaiter = { version = "0.99.1", features = ["futures03"] } |
| 25 | +hashlink = { version = "0.9.0", optional = true } |
| 26 | +hex = "0.4.3" |
| 27 | +iroh-base = { version = "0.27.0", features = ["redb"] } |
| 28 | +iroh-io = { version = "0.6.0", features = ["stats"] } |
| 29 | +iroh-metrics = { version = "0.27.0", default-features = false } |
| 30 | +iroh-net = { version = "0.27.0" } |
| 31 | +num_cpus = "1.15.0" |
| 32 | +oneshot = "0.1.8" |
| 33 | +parking_lot = { version = "0.12.1", optional = true } |
| 34 | +pin-project = "1.1.5" |
| 35 | +postcard = { version = "1", default-features = false, features = ["alloc", "use-std", "experimental-derive"] } |
| 36 | +quinn = { package = "iroh-quinn", version = "0.11", features = ["ring"] } |
| 37 | +rand = "0.8" |
| 38 | +range-collections = "0.4.0" |
| 39 | +redb = { version = "2.0.0", optional = true } |
| 40 | +redb_v1 = { package = "redb", version = "1.5.1", optional = true } |
| 41 | +reflink-copy = { version = "0.1.8", optional = true } |
| 42 | +self_cell = "1.0.1" |
| 43 | +serde = { version = "1", features = ["derive"] } |
| 44 | +smallvec = { version = "1.10.0", features = ["serde", "const_new"] } |
| 45 | +tempfile = { version = "3.10.0", optional = true } |
| 46 | +thiserror = "1" |
| 47 | +tokio = { version = "1", features = ["fs"] } |
| 48 | +tokio-util = { version = "0.7", features = ["io-util", "io"] } |
| 49 | +tracing = "0.1" |
| 50 | +tracing-futures = "0.2.5" |
| 51 | + |
| 52 | +[dev-dependencies] |
| 53 | +http-body = "0.4.5" |
| 54 | +iroh-blobs = { version = "0.27", features = ["downloader"] } |
| 55 | +iroh-test = { version = "0.27" } |
| 56 | +futures-buffered = "0.2.4" |
| 57 | +proptest = "1.0.0" |
| 58 | +serde_json = "1.0.107" |
| 59 | +serde_test = "1.0.176" |
| 60 | +testresult = "0.4.0" |
| 61 | +tokio = { version = "1", features = ["macros", "test-util"] } |
| 62 | +tracing-subscriber = { version = "0.3", features = ["env-filter"] } |
| 63 | +rcgen = "0.12.0" |
| 64 | +rustls = { version = "0.23", default-features = false, features = ["ring"] } |
| 65 | +tempfile = "3.10.0" |
| 66 | +futures-util = "0.3.30" |
| 67 | + |
| 68 | +[features] |
| 69 | +default = ["fs-store"] |
| 70 | +downloader = ["dep:parking_lot", "tokio-util/time", "dep:hashlink"] |
| 71 | +fs-store = ["dep:reflink-copy", "redb", "dep:redb_v1", "dep:tempfile"] |
| 72 | +metrics = ["iroh-metrics/metrics"] |
| 73 | +redb = ["dep:redb"] |
| 74 | + |
| 75 | +[package.metadata.docs.rs] |
| 76 | +all-features = true |
| 77 | +rustdoc-args = ["--cfg", "iroh_docsrs"] |
| 78 | + |
| 79 | +[[example]] |
| 80 | +name = "provide-bytes" |
| 81 | + |
| 82 | +[[example]] |
| 83 | +name = "fetch-fsm" |
| 84 | + |
| 85 | +[[example]] |
| 86 | +name = "fetch-stream" |
0 commit comments