Back to

Package shards

Latest Go to latest

The latest major version is .

Published: Aug 13, 2020 | License: Apache-2.0 | Module:


Package shards provides a low level support for implementing sharded set of []byte blobs.


func ShardIndex

func ShardIndex(member []byte, shardCount int) int

ShardIndex returns an index of a shard to use when storing given blob.

type Set

type Set []Shard

Set is an array of shards (representing a single sharded set).

The size of the array is number of shards in the set. Allocate it using regular make(...).

func (Set) Insert

func (s Set) Insert(blob []byte)

Insert adds a blob into the sharded set.

type Shard

type Shard map[string]struct{}

Shard is a set of byte blobs.

It represents s single shard of a sharded set.

func ParseShard

func ParseShard(blob []byte) (Shard, error)

ParseShard deserializes a shard (serialized with Serialize).

func (Shard) Serialize

func (s Shard) Serialize() []byte

Serialize serializes the shard to a byte buffer.

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier