Documentation
¶
Index ¶
Constants ¶
View Source
const ( EventJoin = iota EventLeave EventFailed EventUpdate EventReap )
View Source
const ( TagRaftPort = "raft-port" TagGrpcPort = "grpc-port" )
View Source
const ( AddressWayBindAddr uint = iota AddressWayPrivateIP AddressWayPublicIP AddressWayHostname )
View Source
const ( NodeNameWayNodeName uint = iota NodeNameWayPrivateIP NodeNameWayPublicIP NodeNameWayHostname NodeNameWayUUID NodeNameWaySequenceNum )
Variables ¶
View Source
var ( ErrKeyExpMustBeGreater = errors.New("redis-node-key-exp must be greater than event-loop-interval-sec") ErrRedisNotAvail = errors.New("redis not available") ErrInvalidAddress = errors.New("invalid or missing address") ErrInvalidNodeName = errors.New("invalid or missing node name") )
Functions ¶
func GenMemberAddrs ¶
func GenNodesFile ¶
Types ¶
type Member ¶
type Member struct {
Name string `json:"name"`
Addr string `json:"addr"`
Port int `json:"port"`
Tags map[string]string `json:"tags,omitempty"`
}
func ReadMembers ¶
type Node ¶
type Node interface {
Setup() error
Stop()
BindMqttServer(server *mqtt.Server)
LocalAddr() string
LocalName() string
Members() []Member
EventChan() <-chan *Event
SendToNode(nodeName string, msg []byte) error
SendToOthers(msg []byte)
Stat() map[string]int64
Join(existing []string) (int, error)
Leave() error
}
type SeedRegistry ¶ added in v1.2.6
type SeedRegistry struct {
NodeKey string
NodesFilePath string
// contains filtered or unexported fields
}
func NewSeedRegistry ¶ added in v1.2.6
func NewSeedRegistry(cfg *config.Cluster) *SeedRegistry
func (*SeedRegistry) Lock ¶ added in v1.2.6
func (r *SeedRegistry) Lock() (err error)
func (*SeedRegistry) Start ¶ added in v1.2.6
func (r *SeedRegistry) Start() (err error)
func (*SeedRegistry) Stop ¶ added in v1.2.6
func (r *SeedRegistry) Stop() (err error)
func (*SeedRegistry) Unlock ¶ added in v1.2.6
func (r *SeedRegistry) Unlock() (err error)
Click to show internal directories.
Click to hide internal directories.