Versions in this module Expand all Collapse all v0 v0.1.0 Aug 1, 2023 Changes in this version + var ErrInvalidReplicationFactor = errors.New("replication factor must be at least 1") + var ErrMemberAlreadyExists = errors.New("member node already exists") + var ErrMemberNotFound = errors.New("member node not found") + var ErrNotEnoughMembers = errors.New("not enough member nodes to satisfy request") + var ErrUnexpectedVnodeCount = errors.New("found a different number of vnodes than replication factor") + var ErrVnodeNotFound = errors.New("vnode not found") + type HashFunc func([]byte) uint64 + type Member interface + Key func() string + type Ring struct + func MustNew(hasher HashFunc, replicationFactor uint16) *Ring + func New(hashfn HashFunc, replicationFactor uint16) (*Ring, error) + func (h *Ring) Add(member Member) error + func (h *Ring) FindN(key []byte, num uint8) ([]Member, error) + func (h *Ring) Members() []Member + func (h *Ring) Remove(member Member) error