decdn_common/lib.rs
1//! Shared types for the deCDN binaries.
2//!
3//! The daemon (`decdn-node`) and the user CLI (`decdn`) both depend on this
4//! crate for the config schema, identity loading, and CLI argument structs
5//! they share. Wire formats and protocol-level types live in
6//! [`decdn_protocol`]; the config-vocabulary value types this schema is
7//! built from (`RetryPolicy`, `DecompressMode`, `OriginUrl`,
8//! `OriginKind`, `Hash`, `PinnedHashes`) live in the
9//! [`decdn_config_types`] leaf crate, so this crate (and the publisher
10//! CLI) never link the cache engine / iroh-blobs / AWS SDK (#578). The
11//! cache-engine types proper stay in `decdn-cache`, a `decdn-node`-only
12//! dependency. This crate holds only what *both* binaries need to
13//! parse, validate, or pass between processes.
14
15pub mod address;
16pub mod admin;
17pub mod cli;
18pub mod config;
19pub mod data_dir;
20pub mod disk;
21pub mod identity;
22pub mod net;
23pub mod redact;