Documentation
¶
Index ¶
Constants ¶
View Source
const ( // UnInitializedValue is the unintialized value used in proto. UnInitializedValue int64 = 0 // DefaultShardCutoverNanos is the default shard-level cutover nanos // if the value is not set in the proto message. DefaultShardCutoverNanos int64 = 0 // DefaultShardCutoffNanos is the default shard-level cutoff nanos // if the value is not set in the proto message. DefaultShardCutoffNanos int64 = math.MaxInt64 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Shard ¶
type Shard interface {
// ID returns the ID of the shard.
ID() uint32
// CutoverNanos returns when shard traffic is cut over.
CutoverNanos() int64
// SetCutoverNanos sets when shard traffic is cut over.
SetCutoverNanos(value int64) Shard
// CutoffNanos returns when shard traffic is cut off.
CutoffNanos() int64
// SetCutoffNanos sets when shard traffic is cut off.
SetCutoffNanos(value int64) Shard
// State returns the state of the shard.
State() State
// SetState sets the state of the shard.
SetState(s State) Shard
// SourceID returns the source of the shard.
SourceID() string
// SetSourceID sets the source of the shard.
SetSourceID(sourceID string) Shard
// RedirectToShardID returns optional shard to redirect incoming writes to.
RedirectToShardID() *uint32
// SetRedirectToShardID sets optional shard to redirect incoming writes to.
SetRedirectToShardID(*uint32) Shard
// Equals returns whether the shard equals to another shard.
Equals(s Shard) bool
// Proto returns the proto representation for the shard.
Proto() (*placementpb.Shard, error)
// Clone returns a clone of the Shard.
Clone() Shard
}
A Shard represents a piece of data owned by the service.
func NewShardFromProto ¶
func NewShardFromProto(spb *placementpb.Shard) (Shard, error)
NewShardFromProto create a new shard from proto.
type Shards ¶
type Shards interface {
// All returns the shards sorted ascending.
All() []Shard
// AllIDs returns the shard IDs sorted ascending.
AllIDs() []uint32
// NumShards returns the number of the shards.
NumShards() int
// ShardsForState returns the shards in a certain state.
ShardsForState(state State) []Shard
// NumShardsForState returns the number of shards in a certain state.
NumShardsForState(state State) int
// Add adds a shard.
Add(shard Shard)
// Remove removes a shard.
Remove(shard uint32)
// Contains checks if a shard exists.
Contains(shard uint32) bool
// Shard returns the shard for the id.
Shard(id uint32) (Shard, bool)
// Equals returns whether the shards equals to another shards.
Equals(s Shards) bool
// String returns the string representation of the shards.
String() string
// Proto returns the proto representation for the shards.
Proto() ([]*placementpb.Shard, error)
// Clone returns a clone of the Shards.
Clone() Shards
}
Shards is a collection of shards owned by one ServiceInstance.
func NewShardsFromProto ¶
func NewShardsFromProto(shards []*placementpb.Shard) (Shards, error)
NewShardsFromProto creates a new set of shards from proto.
type SortableIDsAsc ¶
type SortableIDsAsc []uint32
SortableIDsAsc are sortable shard IDs in ascending order
func (SortableIDsAsc) Len ¶
func (s SortableIDsAsc) Len() int
func (SortableIDsAsc) Less ¶
func (s SortableIDsAsc) Less(i, j int) bool
func (SortableIDsAsc) Swap ¶
func (s SortableIDsAsc) Swap(i, j int)
type SortableShardsByIDAsc ¶
type SortableShardsByIDAsc []Shard
SortableShardsByIDAsc are sortable shards by ID in ascending order
func (SortableShardsByIDAsc) Len ¶
func (s SortableShardsByIDAsc) Len() int
func (SortableShardsByIDAsc) Less ¶
func (s SortableShardsByIDAsc) Less(i, j int) bool
func (SortableShardsByIDAsc) Swap ¶
func (s SortableShardsByIDAsc) Swap(i, j int)
type State ¶
type State int
State represents the state of a shard.
const ( // Unknown represents a shard in unknown state. Unknown State = iota // Initializing represents a shard newly assigned to an instance. Initializing // Available represents a shard bootstraped and ready to serve. Available // Leaving represents a shard that is intending to be removed. Leaving )
func NewShardStateFromProto ¶
func NewShardStateFromProto(state placementpb.ShardState) (State, error)
NewShardStateFromProto creates new shard state from proto.
func (State) Proto ¶
func (s State) Proto() (placementpb.ShardState, error)
Proto returns the proto representation for the shard state.
Click to show internal directories.
Click to hide internal directories.