1use memberlist_core::{transport::Id, CheapClone};
2
3mod merge;
4pub use merge::*;
5
6mod reconnect;
7pub use reconnect::*;
8
9mod transform;
10pub use transform::*;
11
12mod composite;
13pub use composite::*;
14
15pub trait Delegate:
19 MergeDelegate<Id = <Self as Delegate>::Id, Address = <Self as Delegate>::Address>
20 + TransformDelegate<Id = <Self as Delegate>::Id, Address = <Self as Delegate>::Address>
21 + ReconnectDelegate<Id = <Self as Delegate>::Id, Address = <Self as Delegate>::Address>
22{
23 type Id: Id;
25 type Address: CheapClone + Send + Sync + 'static;
27}