lib.rs (1143B)
1 //! Host-neutral asynchronous client engine for Radroots. 2 //! 3 //! Advanced hosts compose capabilities through [`ClientBuilder`] and operate 4 //! through a cloneable [`Client`]. All fallible root operations use [`Result`] 5 //! and the SDK-owned [`Error`] boundary. 6 //! 7 //! Constructing an empty builder performs no I/O and makes missing composition 8 //! explicit: 9 //! 10 //! ``` 11 //! use radroots_sdk::ClientBuilder; 12 //! 13 //! let result = ClientBuilder::new().build(); 14 //! assert!(result.is_err()); 15 //! ``` 16 //! 17 //! Native structs are constructor-led and representation-private. Hosts must 18 //! not depend on field layout: 19 //! 20 //! ```compile_fail 21 //! use radroots_sdk::ClientBuilder; 22 //! 23 //! let _ = ClientBuilder { storage: None }; 24 //! ``` 25 26 #![forbid(unsafe_code)] 27 #![doc = include_str!("../README.md")] 28 #![cfg_attr(coverage_nightly, feature(coverage_attribute))] 29 30 mod adapters; 31 32 pub mod capability; 33 pub mod client; 34 pub mod diagnostics; 35 pub mod error; 36 pub mod farm; 37 pub mod listing; 38 pub mod signing; 39 pub mod storage; 40 pub mod sync; 41 pub mod trade; 42 pub mod transport; 43 44 pub use crate::client::{Client, ClientBuilder}; 45 pub use crate::error::{Error, Result};