pub trait MergeDelegate:
Send
+ Sync
+ 'static {
type Error: Error + Send + Sync + 'static;
type Id: Id;
type Address: CheapClone + Send + Sync + 'static;
// Required method
fn notify_merge(
&self,
members: Arc<[Member<Self::Id, Self::Address>]>,
) -> impl Future<Output = Result<(), Self::Error>> + Send;
}Expand description
Used to involve a client in a potential cluster merge operation. Namely, when a node does a promised push/pull (as part of a join), the delegate is involved and allowed to cancel the join based on custom logic. The merge delegate is NOT invoked as part of the push-pull anti-entropy.
Required Associated Types§
Sourcetype Address: CheapClone + Send + Sync + 'static
type Address: CheapClone + Send + Sync + 'static
The address type of the delegate
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".