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§
Sourcefn 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,
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.