Documentation ¶
Overview ¶
Package shard is a generated protocol buffer package.
It is generated from these files:
client/pkg/shard/shard.proto
It has these top-level messages:
ServerState FrontendState ServerRole Addresses StartRegister FinishRegister Version StartAssignRoles FinishAssignRoles FailedToAssignRoles SetServerState SetFrontendState AddServerRole RemoveServerRole SetServerRole DeleteServerRole SetAddresses GetAddress GetShardToAddress
Index ¶
- Constants
- Variables
- type AddServerRole
- type Addresses
- type DeleteServerRole
- type FailedToAssignRoles
- func (*FailedToAssignRoles) Descriptor() ([]byte, []int)
- func (m *FailedToAssignRoles) GetNumReplicas() uint64
- func (m *FailedToAssignRoles) GetNumShards() uint64
- func (m *FailedToAssignRoles) GetServerStates() map[string]*ServerState
- func (*FailedToAssignRoles) ProtoMessage()
- func (m *FailedToAssignRoles) Reset()
- func (m *FailedToAssignRoles) String() string
- type FinishAssignRoles
- type FinishRegister
- type Frontend
- type FrontendState
- type GetAddress
- func (*GetAddress) Descriptor() ([]byte, []int)
- func (m *GetAddress) GetError() string
- func (m *GetAddress) GetOk() bool
- func (m *GetAddress) GetResult() string
- func (m *GetAddress) GetShard() uint64
- func (m *GetAddress) GetVersion() int64
- func (*GetAddress) ProtoMessage()
- func (m *GetAddress) Reset()
- func (m *GetAddress) String() string
- type GetShardToAddress
- func (*GetShardToAddress) Descriptor() ([]byte, []int)
- func (m *GetShardToAddress) GetError() string
- func (m *GetShardToAddress) GetResult() map[uint64]string
- func (m *GetShardToAddress) GetVersion() int64
- func (*GetShardToAddress) ProtoMessage()
- func (m *GetShardToAddress) Reset()
- func (m *GetShardToAddress) String() string
- type RemoveServerRole
- type Router
- type Server
- type ServerRole
- type ServerState
- type SetAddresses
- type SetFrontendState
- type SetServerRole
- type SetServerState
- type Sharder
- type StartAssignRoles
- type StartRegister
- type Version
Constants ¶
View Source
const InvalidVersion int64 = -1
InvalidVersion is defined as -1 since valid versions are non-negative.
Variables ¶
View Source
var ( // ErrCancelled is returned when an action is cancelled by the user ErrCancelled = fmt.Errorf("cancelled by user") )
Functions ¶
This section is empty.
Types ¶
type AddServerRole ¶
type AddServerRole struct { ServerRole *ServerRole `protobuf:"bytes,1,opt,name=serverRole" json:"serverRole,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` }
func (*AddServerRole) Descriptor ¶
func (*AddServerRole) Descriptor() ([]byte, []int)
func (*AddServerRole) GetError ¶ added in v1.3.5
func (m *AddServerRole) GetError() string
func (*AddServerRole) GetServerRole ¶
func (m *AddServerRole) GetServerRole() *ServerRole
func (*AddServerRole) ProtoMessage ¶
func (*AddServerRole) ProtoMessage()
func (*AddServerRole) Reset ¶
func (m *AddServerRole) Reset()
func (*AddServerRole) String ¶
func (m *AddServerRole) String() string
type Addresses ¶
type Addresses struct { Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` Addresses map[uint64]string `` /* 153-byte string literal not displayed */ }
func (*Addresses) Descriptor ¶
func (*Addresses) GetAddresses ¶
func (*Addresses) GetVersion ¶ added in v1.3.5
func (*Addresses) ProtoMessage ¶
func (*Addresses) ProtoMessage()
type DeleteServerRole ¶
type DeleteServerRole struct {
ServerRole *ServerRole `protobuf:"bytes,2,opt,name=serverRole" json:"serverRole,omitempty"`
}
func (*DeleteServerRole) Descriptor ¶
func (*DeleteServerRole) Descriptor() ([]byte, []int)
func (*DeleteServerRole) GetServerRole ¶
func (m *DeleteServerRole) GetServerRole() *ServerRole
func (*DeleteServerRole) ProtoMessage ¶
func (*DeleteServerRole) ProtoMessage()
func (*DeleteServerRole) Reset ¶
func (m *DeleteServerRole) Reset()
func (*DeleteServerRole) String ¶
func (m *DeleteServerRole) String() string
type FailedToAssignRoles ¶
type FailedToAssignRoles struct { ServerStates map[string]*ServerState `` /* 171-byte string literal not displayed */ NumShards uint64 `protobuf:"varint,2,opt,name=num_shards,json=numShards,proto3" json:"num_shards,omitempty"` NumReplicas uint64 `protobuf:"varint,3,opt,name=num_replicas,json=numReplicas,proto3" json:"num_replicas,omitempty"` }
func (*FailedToAssignRoles) Descriptor ¶
func (*FailedToAssignRoles) Descriptor() ([]byte, []int)
func (*FailedToAssignRoles) GetNumReplicas ¶ added in v1.3.5
func (m *FailedToAssignRoles) GetNumReplicas() uint64
func (*FailedToAssignRoles) GetNumShards ¶ added in v1.3.5
func (m *FailedToAssignRoles) GetNumShards() uint64
func (*FailedToAssignRoles) GetServerStates ¶
func (m *FailedToAssignRoles) GetServerStates() map[string]*ServerState
func (*FailedToAssignRoles) ProtoMessage ¶
func (*FailedToAssignRoles) ProtoMessage()
func (*FailedToAssignRoles) Reset ¶
func (m *FailedToAssignRoles) Reset()
func (*FailedToAssignRoles) String ¶
func (m *FailedToAssignRoles) String() string
type FinishAssignRoles ¶
type FinishAssignRoles struct {
Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
}
func (*FinishAssignRoles) Descriptor ¶
func (*FinishAssignRoles) Descriptor() ([]byte, []int)
func (*FinishAssignRoles) GetError ¶ added in v1.3.5
func (m *FinishAssignRoles) GetError() string
func (*FinishAssignRoles) ProtoMessage ¶
func (*FinishAssignRoles) ProtoMessage()
func (*FinishAssignRoles) Reset ¶
func (m *FinishAssignRoles) Reset()
func (*FinishAssignRoles) String ¶
func (m *FinishAssignRoles) String() string
type FinishRegister ¶
type FinishRegister struct { Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` }
func (*FinishRegister) Descriptor ¶
func (*FinishRegister) Descriptor() ([]byte, []int)
func (*FinishRegister) GetAddress ¶ added in v1.3.5
func (m *FinishRegister) GetAddress() string
func (*FinishRegister) GetError ¶ added in v1.3.5
func (m *FinishRegister) GetError() string
func (*FinishRegister) ProtoMessage ¶
func (*FinishRegister) ProtoMessage()
func (*FinishRegister) Reset ¶
func (m *FinishRegister) Reset()
func (*FinishRegister) String ¶
func (m *FinishRegister) String() string
type Frontend ¶
type Frontend interface { // Version tells the Frontend a new version exists. // Version should block until the Frontend is done using the previous version. Version(version int64) error }
A Frontend represents a frontend which receives new versions.
type FrontendState ¶
type FrontendState struct { Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` }
func (*FrontendState) Descriptor ¶
func (*FrontendState) Descriptor() ([]byte, []int)
func (*FrontendState) GetAddress ¶ added in v1.3.5
func (m *FrontendState) GetAddress() string
func (*FrontendState) GetVersion ¶ added in v1.3.5
func (m *FrontendState) GetVersion() int64
func (*FrontendState) ProtoMessage ¶
func (*FrontendState) ProtoMessage()
func (*FrontendState) Reset ¶
func (m *FrontendState) Reset()
func (*FrontendState) String ¶
func (m *FrontendState) String() string
type GetAddress ¶
type GetAddress struct { Shard uint64 `protobuf:"varint,1,opt,name=shard,proto3" json:"shard,omitempty"` Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` Result string `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"` Ok bool `protobuf:"varint,4,opt,name=ok,proto3" json:"ok,omitempty"` Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` }
func (*GetAddress) Descriptor ¶
func (*GetAddress) Descriptor() ([]byte, []int)
func (*GetAddress) GetError ¶ added in v1.3.5
func (m *GetAddress) GetError() string
func (*GetAddress) GetOk ¶ added in v1.3.5
func (m *GetAddress) GetOk() bool
func (*GetAddress) GetResult ¶ added in v1.3.5
func (m *GetAddress) GetResult() string
func (*GetAddress) GetShard ¶ added in v1.3.5
func (m *GetAddress) GetShard() uint64
func (*GetAddress) GetVersion ¶ added in v1.3.5
func (m *GetAddress) GetVersion() int64
func (*GetAddress) ProtoMessage ¶
func (*GetAddress) ProtoMessage()
func (*GetAddress) Reset ¶
func (m *GetAddress) Reset()
func (*GetAddress) String ¶
func (m *GetAddress) String() string
type GetShardToAddress ¶
type GetShardToAddress struct { Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` Result map[uint64]string `` /* 147-byte string literal not displayed */ Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` }
func (*GetShardToAddress) Descriptor ¶
func (*GetShardToAddress) Descriptor() ([]byte, []int)
func (*GetShardToAddress) GetError ¶ added in v1.3.5
func (m *GetShardToAddress) GetError() string
func (*GetShardToAddress) GetResult ¶
func (m *GetShardToAddress) GetResult() map[uint64]string
func (*GetShardToAddress) GetVersion ¶ added in v1.3.5
func (m *GetShardToAddress) GetVersion() int64
func (*GetShardToAddress) ProtoMessage ¶
func (*GetShardToAddress) ProtoMessage()
func (*GetShardToAddress) Reset ¶
func (m *GetShardToAddress) Reset()
func (*GetShardToAddress) String ¶
func (m *GetShardToAddress) String() string
type RemoveServerRole ¶
type RemoveServerRole struct { ServerRole *ServerRole `protobuf:"bytes,1,opt,name=serverRole" json:"serverRole,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` }
func (*RemoveServerRole) Descriptor ¶
func (*RemoveServerRole) Descriptor() ([]byte, []int)
func (*RemoveServerRole) GetError ¶ added in v1.3.5
func (m *RemoveServerRole) GetError() string
func (*RemoveServerRole) GetServerRole ¶
func (m *RemoveServerRole) GetServerRole() *ServerRole
func (*RemoveServerRole) ProtoMessage ¶
func (*RemoveServerRole) ProtoMessage()
func (*RemoveServerRole) Reset ¶
func (m *RemoveServerRole) Reset()
func (*RemoveServerRole) String ¶
func (m *RemoveServerRole) String() string
type Router ¶
type Router interface { GetShards(version int64) (map[uint64]bool, error) GetClientConn(shard uint64, version int64) (*grpc.ClientConn, error) GetAllClientConns(version int64) ([]*grpc.ClientConn, error) CloseClientConns() error // close all outstanding client connections }
Router represents a router from shard id and version to grpc connections.
type Server ¶
type Server interface { // AddShard tells the server it now has a role for a shard. AddShard(shard uint64) error // RemoveShard tells the server it no longer has a role for a shard. DeleteShard(shard uint64) error }
A Server represents a server that has roles for shards.
type ServerRole ¶
type ServerRole struct { Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` Shards map[uint64]bool `` /* 148-byte string literal not displayed */ }
func (*ServerRole) Descriptor ¶
func (*ServerRole) Descriptor() ([]byte, []int)
func (*ServerRole) GetAddress ¶ added in v1.3.5
func (m *ServerRole) GetAddress() string
func (*ServerRole) GetShards ¶
func (m *ServerRole) GetShards() map[uint64]bool
func (*ServerRole) GetVersion ¶ added in v1.3.5
func (m *ServerRole) GetVersion() int64
func (*ServerRole) ProtoMessage ¶
func (*ServerRole) ProtoMessage()
func (*ServerRole) Reset ¶
func (m *ServerRole) Reset()
func (*ServerRole) String ¶
func (m *ServerRole) String() string
type ServerState ¶
type ServerState struct { Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` }
func (*ServerState) Descriptor ¶
func (*ServerState) Descriptor() ([]byte, []int)
func (*ServerState) GetAddress ¶ added in v1.3.5
func (m *ServerState) GetAddress() string
func (*ServerState) GetVersion ¶ added in v1.3.5
func (m *ServerState) GetVersion() int64
func (*ServerState) ProtoMessage ¶
func (*ServerState) ProtoMessage()
func (*ServerState) Reset ¶
func (m *ServerState) Reset()
func (*ServerState) String ¶
func (m *ServerState) String() string
type SetAddresses ¶
type SetAddresses struct {
Addresses *Addresses `protobuf:"bytes,1,opt,name=addresses" json:"addresses,omitempty"`
}
func (*SetAddresses) Descriptor ¶
func (*SetAddresses) Descriptor() ([]byte, []int)
func (*SetAddresses) GetAddresses ¶
func (m *SetAddresses) GetAddresses() *Addresses
func (*SetAddresses) ProtoMessage ¶
func (*SetAddresses) ProtoMessage()
func (*SetAddresses) Reset ¶
func (m *SetAddresses) Reset()
func (*SetAddresses) String ¶
func (m *SetAddresses) String() string
type SetFrontendState ¶
type SetFrontendState struct {
FrontendState *FrontendState `protobuf:"bytes,1,opt,name=frontendState" json:"frontendState,omitempty"`
}
func (*SetFrontendState) Descriptor ¶
func (*SetFrontendState) Descriptor() ([]byte, []int)
func (*SetFrontendState) GetFrontendState ¶
func (m *SetFrontendState) GetFrontendState() *FrontendState
func (*SetFrontendState) ProtoMessage ¶
func (*SetFrontendState) ProtoMessage()
func (*SetFrontendState) Reset ¶
func (m *SetFrontendState) Reset()
func (*SetFrontendState) String ¶
func (m *SetFrontendState) String() string
type SetServerRole ¶
type SetServerRole struct {
ServerRole *ServerRole `protobuf:"bytes,2,opt,name=serverRole" json:"serverRole,omitempty"`
}
func (*SetServerRole) Descriptor ¶
func (*SetServerRole) Descriptor() ([]byte, []int)
func (*SetServerRole) GetServerRole ¶
func (m *SetServerRole) GetServerRole() *ServerRole
func (*SetServerRole) ProtoMessage ¶
func (*SetServerRole) ProtoMessage()
func (*SetServerRole) Reset ¶
func (m *SetServerRole) Reset()
func (*SetServerRole) String ¶
func (m *SetServerRole) String() string
type SetServerState ¶
type SetServerState struct {
ServerState *ServerState `protobuf:"bytes,1,opt,name=serverState" json:"serverState,omitempty"`
}
func (*SetServerState) Descriptor ¶
func (*SetServerState) Descriptor() ([]byte, []int)
func (*SetServerState) GetServerState ¶
func (m *SetServerState) GetServerState() *ServerState
func (*SetServerState) ProtoMessage ¶
func (*SetServerState) ProtoMessage()
func (*SetServerState) Reset ¶
func (m *SetServerState) Reset()
func (*SetServerState) String ¶
func (m *SetServerState) String() string
type Sharder ¶
type Sharder interface { GetAddress(shard uint64, version int64) (string, bool, error) GetShardToAddress(version int64) (map[uint64]string, error) Register(cancel chan bool, address string, servers []Server) error RegisterFrontends(cancel chan bool, address string, frontends []Frontend) error AssignRoles(address string, cancel chan bool) error }
Sharder distributes shards between a set of servers.
func NewLocalSharder ¶
NewLocalSharder creates a Sharder user a list of addresses.
type StartAssignRoles ¶
type StartAssignRoles struct { }
func (*StartAssignRoles) Descriptor ¶
func (*StartAssignRoles) Descriptor() ([]byte, []int)
func (*StartAssignRoles) ProtoMessage ¶
func (*StartAssignRoles) ProtoMessage()
func (*StartAssignRoles) Reset ¶
func (m *StartAssignRoles) Reset()
func (*StartAssignRoles) String ¶
func (m *StartAssignRoles) String() string
type StartRegister ¶
type StartRegister struct {
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}
func (*StartRegister) Descriptor ¶
func (*StartRegister) Descriptor() ([]byte, []int)
func (*StartRegister) GetAddress ¶ added in v1.3.5
func (m *StartRegister) GetAddress() string
func (*StartRegister) ProtoMessage ¶
func (*StartRegister) ProtoMessage()
func (*StartRegister) Reset ¶
func (m *StartRegister) Reset()
func (*StartRegister) String ¶
func (m *StartRegister) String() string
type Version ¶
type Version struct { Result int64 `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` }
func (*Version) Descriptor ¶
func (*Version) ProtoMessage ¶
func (*Version) ProtoMessage()
Click to show internal directories.
Click to hide internal directories.