Documentation ¶
Index ¶
- type CallbackFunc
- type EventFilter
- type EventHandler
- type HandleFunc
- type Option
- func WithAddTag(key, val string) Option
- func WithAdvertiseAddr(addr string) Option
- func WithAdvertisePort(port int) Option
- func WithBindAddr(addr string) Option
- func WithBindPort(port int) Option
- func WithEnableCompression(enable bool) Option
- func WithLogOutput(logOutput io.Writer) Option
- func WithNode(nodeName string) Option
- func WithSecretKey(secretKey []byte) Option
- func WithTags(tags map[string]string) Option
- type QueryOption
- type Server
- func (s *Server) AddEventHandler(handler EventHandler)
- func (s *Server) Join(addrs []string) (n int, err error)
- func (s *Server) LocalMember() *serf.Member
- func (s *Server) Member(node string) *serf.Member
- func (s *Server) MembersByTags(tags map[string]string) (members []serf.Member)
- func (s *Server) OnceEventHandler(handler EventHandler)
- func (s *Server) Query(name string, payload []byte, callback CallbackFunc, opts ...QueryOption) error
- func (s *Server) Ready() <-chan struct{}
- func (s *Server) RemoveEventHandler(handler EventHandler)
- func (s *Server) Start(ctx context.Context)
- func (s *Server) Stop()
- func (s *Server) Stopped() <-chan struct{}
- func (s *Server) UserEvent(name string, payload []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CallbackFunc ¶
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 UserEventFilter ¶
func UserEventFilter(name string) EventFilter
UserEventFilter event filter of serf user event
type EventHandler ¶
EventHandler interface
func NewEventHandler ¶
func NewEventHandler(filter EventFilter, handler HandleFunc) EventHandler
NewEventHandler returns serf event handler
type Option ¶
Option func
func WithAdvertiseAddr ¶
WithAdvertiseAddr returns advertise addr option
func WithAdvertisePort ¶
WithAdvertisePort returns advertise port option
func WithEnableCompression ¶
WithEnableCompression returns enable compression option
func WithLogOutput ¶
WithLogOutput returns log output option
func WithSecretKey ¶
WithSecretKey returns secret key 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 (*Server) AddEventHandler ¶
func (s *Server) AddEventHandler(handler EventHandler)
AddEventHandler Add serf event handler
func (*Server) LocalMember ¶
LocalMember returns the Member information for the local node
func (*Server) MembersByTags ¶
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