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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".