liuxiaolong
2020-09-16 4501e38ca66f09b35aaaf43fa5a316554930fcf4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package memberlist
 
// MergeDelegate is used to involve a client in
// a potential cluster merge operation. Namely, when
// a node does a TCP 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.
type MergeDelegate interface {
    // NotifyMerge is invoked when a merge could take place.
    // Provides a list of the nodes known by the peer. If
    // the return value is non-nil, the merge is canceled.
    NotifyMerge(peers []*Node) error
}