Skip to main content

EpochObserver

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.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§