20 lines
852 B
Rust
20 lines
852 B
Rust
// file: crates/ksp-store-api/src/capability.rs
|
|
// version: 3
|
|
|
|
//! Private home for backend-agnostic Store capability contracts.
|
|
//!
|
|
//! Capabilities are split by persistent family and operation direction so a
|
|
//! backend can implement only the contracts it actually supports. The runtime
|
|
//! Store facade, backend selection and concrete database implementations remain
|
|
//! outside `ksp-store-api`.
|
|
|
|
pub(crate) mod raw_account;
|
|
pub(crate) mod raw_retention;
|
|
pub(crate) mod raw_transaction;
|
|
|
|
/// Boxed async operation returned by object-safe Store capability contracts.
|
|
///
|
|
/// The alias uses only standard-library primitives so backend implementations
|
|
/// need no async helper dependency merely to implement `ksp-store-api`.
|
|
pub type StoreApiFuture<'a, T> = std::pin::Pin<std::boxed::Box<dyn std::future::Future<Output = T> + std::marker::Send + 'a>>;
|