github.com/unionj-cloud/go-doudou/v2@v2.3.5/toolkit/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 Config() *Config 25 AdvertiseAddr() string 26 }