cluster

package
v0.51.0 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseAddr

func ParseAddr(hostPort string) string

func RegisterGossipHandler

func RegisterGossipHandler(mux *http.ServeMux, cluster *SwimCluster)

Types

type Member

type Member struct {
	ID       string       `json:"id"`
	Addr     string       `json:"addr"`
	Status   MemberStatus `json:"status"`
	VMCount  int          `json:"vm_count"`
	CPUCap   int          `json:"cpu_capacity"`
	MemCap   int64        `json:"mem_capacity_bytes"`
	LastSeen time.Time    `json:"last_seen"`
}

type MemberInfo

type MemberInfo struct {
	ID       string
	Addr     string
	Status   string
	VMCount  int
	CPUCap   int
	MemCap   int64
	LastSeen time.Time
}

type MemberListerAdapter

type MemberListerAdapter struct {
	Cluster *SwimCluster
}

func (*MemberListerAdapter) Members

func (a *MemberListerAdapter) Members() []MemberInfo

type MemberStatus

type MemberStatus string
const (
	StatusAlive   MemberStatus = "alive"
	StatusSuspect MemberStatus = "suspect"
	StatusDead    MemberStatus = "dead"
	StatusLeft    MemberStatus = "left"
)

type SwimCluster

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

func NewSwimCluster

func NewSwimCluster(addr string, vmCount int, cpuCap int, memCap int64) *SwimCluster

func (*SwimCluster) AliveMembers

func (c *SwimCluster) AliveMembers() []Member

func (*SwimCluster) HandleGossip

func (c *SwimCluster) HandleGossip(payload gossipPayload) gossipPayload

func (*SwimCluster) Join

func (c *SwimCluster) Join(ctx context.Context, seedAddrs ...string) error

func (*SwimCluster) Leave

func (c *SwimCluster) Leave()

func (*SwimCluster) LocalID

func (c *SwimCluster) LocalID() string

func (*SwimCluster) Members

func (c *SwimCluster) Members() []Member

func (*SwimCluster) Start

func (c *SwimCluster) Start(ctx context.Context)

func (*SwimCluster) UpdateLocal

func (c *SwimCluster) UpdateLocal(vmCount int, cpuCap int, memCap int64)

Jump to

Keyboard shortcuts

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