pub trait KeySource: Send + Sync {
// Required method
fn active_keys_page<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
after: Option<KeyId>,
limit: NonZeroUsize,
) -> Pin<Box<dyn Future<Output = Result<KeyPage, StoreError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
A read-only source of revisioned, paginated active-credential pages: what
a serving instance drains to build its verifier projection (INVARIANTS.md
34). It carries no lifecycle or administrative authority; that belongs to
KeyDirectory.
Required Methods§
Sourcefn active_keys_page<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
after: Option<KeyId>,
limit: NonZeroUsize,
) -> Pin<Box<dyn Future<Output = Result<KeyPage, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn active_keys_page<'life0, 'async_trait>(
&'life0 self,
now: Timestamp,
after: Option<KeyId>,
limit: NonZeroUsize,
) -> Pin<Box<dyn Future<Output = Result<KeyPage, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Read active records in strictly increasing key-id order. Direct stores
use now; HTTP servers choose their own clock and return it as as_of.
Reads must be coherent with the returned revision, including for an
empty result. Never return a partial successful page after a failure.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".