Skip to main content

RevocationWriter

Trait RevocationWriter 

Source
pub trait RevocationWriter: Send + Sync {
    // Required methods
    fn revoke<'life0, 'life1, 'async_trait>(
        &'life0 self,
        entry: &'life1 Revoked,
    ) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn snapshot<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<RevocationSnapshot, StoreError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Origin-side revocation log. Held by SessionAuthority on the cold path and by RevocationPublisher.

Required Methods§

Source

fn revoke<'life0, 'life1, 'async_trait>( &'life0 self, entry: &'life1 Revoked, ) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Add entry to the set, advancing the epoch (next_epoch) in the same atomic write. An identity already present keeps the larger bound (Revoked::cmp_bound); the epoch advances only when a row was inserted or its bound rose. Idempotent — re-revoking with an equal or lower bound is a no-op, not an error, and leaves the epoch alone. Propagation to edge cheers_verify::RevocationReaders is asynchronous (see the module contract).

Source

fn snapshot<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<RevocationSnapshot, StoreError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

The current epoch and entries, read as one consistent view: the contents are exactly those the epoch was advanced to. Includes lapsed jtis that gc has not yet removed; RevocationPublisher::current filters those.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§