server

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetBackup

func GetBackup(mon *Monitor) func(c *gin.Context)

func GetHome

func GetHome(c *gin.Context)

func GetMember

func GetMember(q *Quorum) func(c *gin.Context)

func JoinCluster

func JoinCluster(q *Quorum) func(c *gin.Context)

func LeaveCluster

func LeaveCluster(q *Quorum) func(c *gin.Context)

func RegisterRoutes

func RegisterRoutes(router *gin.Engine, mon *Monitor)

Types

type Monitor

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

func New

func New(monitorConfig MonitorConfig) (*Monitor, error)

func (*Monitor) Close

func (m *Monitor) Close()

func (*Monitor) Collect

func (m *Monitor) Collect(now time.Time, tx chan<- []byte)

func (*Monitor) Run

func (m *Monitor) Run(ctx context.Context) error

type MonitorConfig

type MonitorConfig struct {
	QuorumPort      int
	CollectInterval time.Duration
	HttpListen      string
	DataStoreConfig storage.Config
}

type Quorum

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

func NewQuorum

func NewQuorum(monitorConfig *MonitorConfig) *Quorum

func (*Quorum) Close

func (q *Quorum) Close()

func (*Quorum) GetMemberMeta

func (q *Quorum) GetMemberMeta(member string) (string, error)

func (*Quorum) Join

func (q *Quorum) Join(members map[string]string, retry int, delay time.Duration)

func (*Quorum) Leave

func (q *Quorum) Leave(timeout time.Duration) error

func (*Quorum) Members

func (q *Quorum) Members() []*memberlist.Node

func (*Quorum) MyIP

func (q *Quorum) MyIP() net.IP

func (*Quorum) NotifyJoin

func (q *Quorum) NotifyJoin(node *memberlist.Node)

func (*Quorum) NotifyLeave

func (q *Quorum) NotifyLeave(node *memberlist.Node)

func (*Quorum) NotifyUpdate

func (q *Quorum) NotifyUpdate(node *memberlist.Node)

func (*Quorum) TryJoin

func (q *Quorum) TryJoin(members map[string]string) (int, error)

Jump to

Keyboard shortcuts

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