chie_shared/types/mod.rs
1//! Common types used across CHIE Protocol.
2//!
3//! This module is organized into several submodules:
4//! - `core`: Core type aliases and constants
5//! - `enums`: Enumeration types (categories, statuses, roles, etc.)
6//! - `validation`: Validation types and error handling
7//! - `content`: Content metadata and related types
8//! - `bandwidth`: Bandwidth proof protocol types
9//! - `api`: API-related types (responses, errors, pagination, etc.)
10//! - `stats`: Statistics and metrics types
11//! - `cache`: Cache statistics and metrics types
12//! - `profiling`: Performance profiling and operation metrics types
13//! - `quota`: Quota management types (storage, bandwidth, rate limits)
14//! - `batch`: Batch operation types for efficient processing
15//! - `ids`: Strongly-typed ID wrappers for type safety
16//! - `fixed_arrays`: Const-generic fixed-size array types for cryptographic operations
17//! - `experiments`: A/B testing and feature experiment types
18//! - `state_machine`: Phantom types for compile-time state machine enforcement
19
20pub mod api;
21pub mod bandwidth;
22pub mod batch;
23pub mod cache;
24pub mod content;
25pub mod core;
26pub mod enums;
27pub mod experiments;
28pub mod fixed_arrays;
29pub mod ids;
30pub mod profiling;
31pub mod quota;
32pub mod state_machine;
33pub mod stats;
34pub mod validation;
35
36// Re-export everything from submodules for convenience
37pub use api::*;
38pub use bandwidth::*;
39pub use batch::*;
40pub use cache::*;
41pub use content::*;
42pub use core::*;
43pub use enums::*;
44pub use experiments::*;
45pub use fixed_arrays::*;
46pub use ids::*;
47pub use profiling::*;
48pub use quota::*;
49pub use state_machine::*;
50pub use stats::*;
51pub use validation::*;
52
53// Re-export test helpers for use in other crates' tests
54#[cfg(test)]
55pub use bandwidth::test_helpers;