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  }