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", so this trait is not object safe.