Documentation
¶
Index ¶
- Constants
- Variables
- func GenMemberAddrs(ms []Member) (addrs []string)
- func GenNodesFile(file string, ms []Member) error
- type Event
- type Member
- type Node
- type SeedRegistry
- func (r *SeedRegistry) GenerateNodeAddress() (address string, err error)
- func (r *SeedRegistry) GenerateNodeName(addr string) (name string, err error)
- func (r *SeedRegistry) Lock() (err error)
- func (r *SeedRegistry) Start() (err error)
- func (r *SeedRegistry) Stop() (err error)
- func (r *SeedRegistry) Unlock() (err error)
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 )
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) GenerateNodeAddress ¶ added in v1.2.6
func (r *SeedRegistry) GenerateNodeAddress() (address string, err error)
func (*SeedRegistry) GenerateNodeName ¶ added in v1.2.6
func (r *SeedRegistry) GenerateNodeName(addr string) (name string, err error)
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.