Versions in this module Expand all Collapse all v1 v1.2.7 Oct 10, 2023 Changes in this version + var ErrEmptyMembers = errors.New("at least one member is required") + var ErrHasherNotProvided = errors.New("hasher is required") + var ErrInsufficientMemberCount = errors.New("insufficient member count") + var ErrInvalidNumPartitions = errors.New("invalid number of the partitions") + var ErrInvalidReplicationFactor = errors.New("positive replication factor is required") + var ErrMemberNotFound = errors.New("member could not be found in ring") + type Config struct + Hasher Hasher + PartitionAffinities []PartitionAffinity + ReplicationFactor int + func (c *Config) Sanitize() error + type ConsistentUniformHash struct + func BuildConsistentUniformHash(numPartitions int, members []Member, config Config) (*ConsistentUniformHash, error) + func (c *ConsistentUniformHash) GetPartitionOwner(partID int) Member + func (c *ConsistentUniformHash) LoadDistribution() map[string]uint + func (c *ConsistentUniformHash) MaxLoad() uint + func (c *ConsistentUniformHash) MinLoad() uint + type Hasher interface + Sum64 func([]byte) uint64 + type Member interface + String func() string + type PartitionAffinity struct + NumAllowedOtherPartitions uint + PartitionID int