core_crypto::prelude

Trait EpochObserver

Source
pub trait EpochObserver: Send + Sync {
    // Required method
    fn epoch_changed<'life0, 'async_trait>(
        &'life0 self,
        conversation_id: ConversationId,
        epoch: u64,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

An EpochObserver is notified whenever a conversation’s epoch changes.

Required Methods§

Source

fn epoch_changed<'life0, 'async_trait>( &'life0 self, conversation_id: ConversationId, epoch: u64, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

This function will be called every time a conversation’s epoch changes.

The epoch parameter is the new epoch.

This function must not block! Foreign implementors of this inteface can spawn a task indirecting the notification, or (unblocking) send the notification on some kind of channel, or anything else, as long as the operation completes quickly.

Implementors§