discovery

package
v1.2.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 18 Imported by: 0

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 GenMemberAddrs(ms []Member) (addrs []string)

func GenNodesFile

func GenNodesFile(file string, ms []Member) error

Types

type Event

type Event struct {
	Member
	Type int
}

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

func ReadMembers(file string) []Member

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)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL