serf

package
v1.4.8 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CallbackFunc

type CallbackFunc func(from string, data []byte)

CallbackFunc callback handler for query event

type EventFilter

type EventFilter interface {
	Invoke(event serf.Event, handler HandleFunc) bool
	String() string
}

EventFilter interface

func MemberFailedFilter

func MemberFailedFilter() EventFilter

MemberFailedFilter event filter of member failed

func MemberJoinFilter

func MemberJoinFilter() EventFilter

MemberJoinFilter event filter of member join

func MemberLeaveFilter

func MemberLeaveFilter() EventFilter

MemberLeaveFilter event filter of member leave

func MemberReapFilter

func MemberReapFilter() EventFilter

MemberReapFilter event filter of member reap

func MemberUpdateFilter

func MemberUpdateFilter() EventFilter

MemberUpdateFilter event filter of member update

func QueryFilter

func QueryFilter(name string) EventFilter

QueryFilter event filter of serf query

func UserEventFilter

func UserEventFilter(name string) EventFilter

UserEventFilter event filter of serf user event

type EventHandler

type EventHandler interface {
	Handle(event serf.Event) bool
	String() string
}

EventHandler interface

func NewEventHandler

func NewEventHandler(filter EventFilter, handler HandleFunc) EventHandler

NewEventHandler returns serf event handler

type HandleFunc

type HandleFunc func(data ...[]byte) bool

HandleFunc handle user event

type Option

type Option func(*serf.Config)

Option func

func WithAddTag

func WithAddTag(key, val string) Option

WithAddTag returns add tag option

func WithAdvertiseAddr

func WithAdvertiseAddr(addr string) Option

WithAdvertiseAddr returns advertise addr option

func WithAdvertisePort

func WithAdvertisePort(port int) Option

WithAdvertisePort returns advertise port option

func WithBindAddr

func WithBindAddr(addr string) Option

WithBindAddr returns bind addr option

func WithBindPort

func WithBindPort(port int) Option

WithBindPort returns bind port option

func WithEnableCompression

func WithEnableCompression(enable bool) Option

WithEnableCompression returns enable compression option

func WithLogOutput

func WithLogOutput(logOutput io.Writer) Option

WithLogOutput returns log output option

func WithNode

func WithNode(nodeName string) Option

WithNode returns node option

func WithSecretKey

func WithSecretKey(secretKey []byte) Option

WithSecretKey returns secret key option

func WithTags

func WithTags(tags map[string]string) Option

WithTags returns tags option

type QueryOption

type QueryOption func(*serf.QueryParam)

QueryOption func

func WithFilterNodes

func WithFilterNodes(nodes ...string) QueryOption

WithFilterNodes returns node filter query option

func WithFilterTags

func WithFilterTags(tags map[string]string) QueryOption

WithFilterTags returns tags filter query option

func WithRelayFactor

func WithRelayFactor(num uint8) QueryOption

WithRelayFactor returns relay factor query option

func WithRequestAck

func WithRequestAck(ack bool) QueryOption

WithRequestAck returns request ack query option

func WithTimeout

func WithTimeout(timeout time.Duration) QueryOption

WithTimeout returns timeout query option

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server serf server

func NewServer

func NewServer(peerAddr string, opts ...Option) *Server

NewServer new serf server with options

func (*Server) AddEventHandler

func (s *Server) AddEventHandler(handler EventHandler)

AddEventHandler Add serf event handler

func (*Server) Join

func (s *Server) Join(addrs []string) (n int, err error)

Join asks the Serf instance to join. See the Serf.Join function.

func (*Server) LocalMember

func (s *Server) LocalMember() *serf.Member

LocalMember returns the Member information for the local node

func (*Server) Member

func (s *Server) Member(node string) *serf.Member

Member get member information with node

func (*Server) MembersByTags

func (s *Server) MembersByTags(tags map[string]string) (members []serf.Member)

MembersByTags Returns members matching the tags

func (*Server) OnceEventHandler

func (s *Server) OnceEventHandler(handler EventHandler)

OnceEventHandler Add serf event handler, the handler will be automatically deleted after executing it once

func (*Server) Query

func (s *Server) Query(name string, payload []byte, callback CallbackFunc, opts ...QueryOption) error

Query send query

func (*Server) Ready

func (s *Server) Ready() <-chan struct{}

Ready Returns a channel that will be closed when serf is ready

func (*Server) RemoveEventHandler

func (s *Server) RemoveEventHandler(handler EventHandler)

RemoveEventHandler remove serf event handler

func (*Server) Start

func (s *Server) Start(ctx context.Context)

Start serf server

func (*Server) Stop

func (s *Server) Stop()

Stop serf server

func (*Server) Stopped

func (s *Server) Stopped() <-chan struct{}

Stopped Returns a channel that will be closed when serf is stopped

func (*Server) UserEvent

func (s *Server) UserEvent(name string, payload []byte) error

UserEvent send user event

Jump to

Keyboard shortcuts

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