1package memberlist
2
3// MergeDelegate is used to involve a client in
4// a potential cluster merge operation. Namely, when
5// a node does a TCP push/pull (as part of a join),
6// the delegate is involved and allowed to cancel the join
7// based on custom logic. The merge delegate is NOT invoked
8// as part of the push-pull anti-entropy.
9type MergeDelegate interface {
10	// NotifyMerge is invoked when a merge could take place.
11	// Provides a list of the nodes known by the peer. If
12	// the return value is non-nil, the merge is canceled.
13	NotifyMerge(peers []*Node) error
14}
15