package
0.3.1
Repository: https://github.com/go-graphite/buckytools.git
Documentation: pkg.go.dev

# Functions

Fnv1a64 returns a 64 bit hash of the given data using the FNV-1a hashing algorithm.
Jump returns a bucket index less that buckets using Google's Jump consistent hashing algorithm: http://arxiv.org/pdf/1406.2294.pdf Note that the return is int for convienance and will not be larger than an int32.
NewCarbonHashRing sets up a new CarbonHashRing and returns it.
NewJumpHashRing creates a new hashring configured with the given replicas such that the number of solutions matches the number of replicas.
NewNode returns a node object setup with the given server string and instance string.
XorShift generates a predictable random-ish hash from the given integer.

# Structs

CarbonHashRing represents Graphite's carbon-cache.py hashing algorithm.
JumpHashRing stores the hashring information.
Node is a server and instance value used in the hash ring.
RingEntry is used to record the position of Nodes in the ring.

# Interfaces

HashRing is an interface that allows us to plug in multiple hash ring implementations.