aegis-delegate · store
Declared module signatures, types, configuration, and source documentation.
Source: aegis/aegis-delegate/src/store.rs. SHA-256: b554fa623706e5d6e65dd8a3bc058a232c020a72187b6058305becf4ebb7f80d.
This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.
store::RevocationStore
Pluggable storage backend for tracking revoked delegation IDs.
Implementations may use in-memory storage, databases, or distributed caches. All operations are async to accommodate network-backed stores.
This trait complements [crate::revocation::RevocationRegistry] by
providing an async, error-aware interface suitable for production
persistence backends.
#[async_trait]
pub trait RevocationStore: Send + Sync {
/// Mark a delegation as revoked.
///
/// Revoking an already-revoked delegation is idempotent and does not
/// return an error.
async fn revoke(&self, delegation_id: &str) -> Result<(), DelegationError>;
/// Check whether a delegation has been revoked.
async fn is_revoked(&self, delegation_id: &str) -> Result<bool, DelegationError>;
/// Revoke multiple delegations at once (batch/cascade revocation).
///
/// This is typically used after cascade revocation computes the full
/// set of transitively affected delegation IDs.
async fn revoke_batch(&self, ids: &[String]) -> Result<(), DelegationError>;
}Source line: 28.
store::InMemoryRevocationStore
In-memory revocation store backed by a RwLock<HashSet>.
Suitable for development, testing, and single-instance deployments.
For production multi-node deployments, use a database-backed
implementation of [RevocationStore].
pub struct InMemoryRevocationStore {
}Source line: 54.
store::InMemoryRevocationStore::new
Creates a new empty in-memory revocation store.
pub fn new() -> Self;Source line: 60.