Documentation ¶
Index ¶
- Constants
- func Hash(data []byte) uint64
- func Md5(data []byte) []byte
- func Md5Hex(data []byte) string
- type ConsistentHash
- func (h *ConsistentHash) Add(node interface{})
- func (h *ConsistentHash) AddWithReplicas(node interface{}, replicas int)
- func (h *ConsistentHash) AddWithWeight(node interface{}, weight int)
- func (h *ConsistentHash) Get(v interface{}) (interface{}, bool)
- func (h *ConsistentHash) Remove(node interface{})
- type HashFunc
Constants ¶
View Source
const (
TopWeight = 100
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ConsistentHash ¶
type ConsistentHash struct {
// contains filtered or unexported fields
}
func NewConsistentHash ¶
func NewConsistentHash() *ConsistentHash
func NewCustomConsistentHash ¶
func NewCustomConsistentHash(replicas int, fn HashFunc) *ConsistentHash
func (*ConsistentHash) Add ¶
func (h *ConsistentHash) Add(node interface{})
Add adds the node with the number of h.replicas, the later call will overwrite the replicas of the former calls.
func (*ConsistentHash) AddWithReplicas ¶
func (h *ConsistentHash) AddWithReplicas(node interface{}, replicas int)
AddWithReplicas adds the node with the number of replicas, replicas will be truncated to h.replicas if it's larger than h.replicas, the later call will overwrite the replicas of the former calls.
func (*ConsistentHash) AddWithWeight ¶
func (h *ConsistentHash) AddWithWeight(node interface{}, weight int)
AddWithWeight adds the node with weight, the weight can be 1 to 100, indicates the percent, the later call will overwrite the replicas of the former calls.
func (*ConsistentHash) Get ¶
func (h *ConsistentHash) Get(v interface{}) (interface{}, bool)
func (*ConsistentHash) Remove ¶
func (h *ConsistentHash) Remove(node interface{})
Click to show internal directories.
Click to hide internal directories.