# Functions
NewLazyShardIterator creates a new LazyShardIterator.
NewLeastUsedShardIterator creates a new least used shard Iterator.
NewRandomShardIterator creates a new random shard Iterator.
RandShardIndex generates a (pseudo) random shard index in the range of [0, n).
RegisterSpreadingType registers a new or overwrite an existing spreading algorithm.
ShardIteratorChannel takes a context and an iterator, and allows you to turn the given iterator into a thread-safe iterator using channels.
# Constants
DefaultSpreadingType represent the default value for the ShardIterator
This package reserves the right to change the default value at any time, but this constant will always be available and up to date.
MaxStandardSpreadingType defines the spreading type, which has the greatest defined/used enum value.
The Object is corrupted.
The Object is missing.
The Object is OK.
SpreadingTypeLeastUsed is the enum constant that identifies a ShardIterator that will walk over the shards by returning first the shards that are the least used (have the more storage available).
SpreadingTypeRandom is the enum constant that identifies a ShardIterator that will walk over the shards in a purely random way.
# Variables
Errors that get returned in case the server returns an unexpected results.
Errors that get returned in case the server returns an unexpected results.
Errors that can be expected to be returned by a zstordb server, in "normal" scenarios.
Errors that get returned in case the server returns an unexpected results.
Errors that get returned in case the server returns an unexpected results.
Errors that can be expected to be returned by a zstordb server, in "normal" scenarios.
ErrNoShardsAvailable is returned in case no shards are available in a cluster, e.g.
Errors that can be expected to be returned by a zstordb server, in "normal" scenarios.
# Structs
No description provided by the author
LazyShardIterator can be used to create an iterator, using a cluster and some amount of shards.
LeastUsedShardIterator implements the ShardIterator interface, in order to get a unique least used sorted datastor client for each iteration.
No description provided by the author
No description provided by the author
No description provided by the author
RandomShardIterator implements the ShardIterator interface, in order to get a unique pseudo-random GRPC-interfaced datastor client for each iteration.
ShardConfig defines shard configuration.
# Interfaces
Client defines the API for any client, used to interface with a zstordb server.
Cluster can be used to group a bunch of zstordb servers together, so to speak, and be able to get a client for each of them.
Shard defines the interface of a cluster shard.
ShardIterator defines the interface of an iterator which can be used to get different shards, without ever getting the same shard back.
# Type aliases
ObjectStatus defines the status of an object, it can be retrieved using the Check Method of the Client API.
SpreadingConstructor defines a function which can be used to create a ShardIterator.
SpreadingType represent a spreading algorithm used by the ShardIterator.