15 lines
570 B
Go
15 lines
570 B
Go
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
|
|
}
|