github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/framework/memberlist/memberlist_interface.go (about) 1 package memberlist 2 3 import ( 4 "net" 5 "time" 6 ) 7 8 //go:generate mockgen -destination ./mock/mock_memberlist_interface.go -package mock -source=./memberlist_interface.go 9 10 type IMemberlist interface { 11 Join(existing []string) (int, error) 12 Ping(node string, addr net.Addr) (time.Duration, error) 13 LocalNode() *Node 14 UpdateNode(timeout time.Duration) error 15 SendToAddress(a Address, msg []byte) error 16 SendBestEffort(to *Node, msg []byte) error 17 SendReliable(to *Node, msg []byte) error 18 Members() []*Node 19 NumMembers() (alive int) 20 Leave(timeout time.Duration) error 21 GetHealthScore() int 22 ProtocolVersion() uint8 23 Shutdown() error 24 }