package membership
import "github.com/moby/swarmkit/v2/manager/state/raft/membership"
Index ¶
- Variables
- type Cluster
- func NewCluster() *Cluster
- func (c *Cluster) AddMember(member *Member) error
- func (c *Cluster) Clear()
- func (c *Cluster) ClearMember(id uint64) error
- func (c *Cluster) GetMember(id uint64) *Member
- func (c *Cluster) IsIDRemoved(id uint64) bool
- func (c *Cluster) Members() map[uint64]*Member
- func (c *Cluster) RemoveMember(id uint64) error
- func (c *Cluster) Removed() []uint64
- func (c *Cluster) UpdateMember(id uint64, m *api.RaftMember) error
- func (c *Cluster) ValidateConfigurationChange(cc raftpb.ConfChange) error
- type Member
Variables ¶
var ( // ErrIDExists is thrown when a node wants to join the existing cluster but its ID already exists ErrIDExists = errors.New("membership: can't add node to cluster, node id is a duplicate") // ErrIDRemoved is thrown when a node tries to perform an operation on an existing cluster but was removed ErrIDRemoved = errors.New("membership: node was removed during cluster lifetime") // ErrIDNotFound is thrown when we try an operation on a member that does not exist in the cluster list ErrIDNotFound = errors.New("membership: member not found in cluster list") // ErrConfigChangeInvalid is thrown when a configuration change we received looks invalid in form ErrConfigChangeInvalid = errors.New("membership: ConfChange type should be either AddNode, RemoveNode or UpdateNode") // ErrCannotUnmarshalConfig is thrown when a node cannot unmarshal a configuration change ErrCannotUnmarshalConfig = errors.New("membership: cannot unmarshal configuration change") // ErrMemberRemoved is thrown when a node was removed from the cluster ErrMemberRemoved = errors.New("raft: member was removed from the cluster") )
Types ¶
type Cluster ¶
Cluster represents a set of active raft Members
func NewCluster ¶
func NewCluster() *Cluster
NewCluster creates a new Cluster neighbors list for a raft Member.
func (*Cluster) AddMember ¶
AddMember adds a node to the Cluster Memberlist.
func (*Cluster) Clear ¶
func (c *Cluster) Clear()
Clear resets the list of active Members and removed Members.
func (*Cluster) ClearMember ¶
ClearMember removes a node from the Cluster Memberlist, but does NOT add it to the removed list.
func (*Cluster) GetMember ¶
GetMember returns informations on a given Member.
func (*Cluster) IsIDRemoved ¶
IsIDRemoved checks if a Member is in the remove set.
func (*Cluster) Members ¶
Members returns the list of raft Members in the Cluster.
func (*Cluster) RemoveMember ¶
RemoveMember removes a node from the Cluster Memberlist, and adds it to the removed list.
func (*Cluster) Removed ¶
Removed returns the list of raft Members removed from the Cluster.
func (*Cluster) UpdateMember ¶
func (c *Cluster) UpdateMember(id uint64, m *api.RaftMember) error
UpdateMember updates member address.
func (*Cluster) ValidateConfigurationChange ¶
func (c *Cluster) ValidateConfigurationChange(cc raftpb.ConfChange) error
ValidateConfigurationChange takes a proposed ConfChange and ensures that it is valid.
type Member ¶
type Member struct {
*api.RaftMember
}
Member represents a raft Cluster Member
Source Files ¶
- Version
- v2.1.1 (latest)
- Published
- Oct 7, 2025
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 4 months ago –
Tools for package owners.