Documentation ¶
Index ¶
- type AddNodesDynamic
- type Client
- type ClusterInfo
- type Config
- type Conn
- type DeleteNodes
- type Driver
- type Event
- type EventRunner
- type Node
- type NodeState
- type RaftEngine
- func (r *RaftEngine) GetRegion(regionID uint64) *core.RegionInfo
- func (r *RaftEngine) GetRegions() []*core.RegionInfo
- func (r *RaftEngine) RandRegion() *core.RegionInfo
- func (r *RaftEngine) SearchRegion(regionKey []byte) *core.RegionInfo
- func (r *RaftEngine) SetRegion(region *core.RegionInfo) []*metapb.Region
- type ReadFlowOnRegion
- type Task
- type WriteFlowOnRegion
- type WriteFlowOnSpot
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddNodesDynamic ¶
type AddNodesDynamic struct {
// contains filtered or unexported fields
}
AddNodesDynamic adds nodes dynamically.
func (*AddNodesDynamic) Run ¶
func (w *AddNodesDynamic) Run(driver *Driver) bool
Run implements the event interface.
type Client ¶
type Client interface { GetClusterID(ctx context.Context) uint64 AllocID(ctx context.Context) (uint64, error) Bootstrap(ctx context.Context, store *metapb.Store, region *metapb.Region) error PutStore(ctx context.Context, store *metapb.Store) error StoreHeartbeat(ctx context.Context, stats *pdpb.StoreStats) error RegionHeartbeat(ctx context.Context, region *core.RegionInfo) error Close() }
Client is a PD (Placement Driver) client. It should not be used after calling Close().
type ClusterInfo ¶
ClusterInfo records all cluster information.
func NewClusterInfo ¶
func NewClusterInfo(pdAddr string, conf *cases.Conf) (*ClusterInfo, error)
NewClusterInfo creates the initialized cluster with config.
func (*ClusterInfo) GetBootstrapInfo ¶
func (c *ClusterInfo) GetBootstrapInfo(r *RaftEngine) (*metapb.Store, *metapb.Region, error)
GetBootstrapInfo returns a valid bootstrap store and region.
type DeleteNodes ¶
type DeleteNodes struct {
// contains filtered or unexported fields
}
DeleteNodes deletes nodes randomly
func (*DeleteNodes) Run ¶
func (w *DeleteNodes) Run(driver *Driver) bool
Run implements the event interface
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
Driver promotes the cluster status change.
type EventRunner ¶
type EventRunner struct {
// contains filtered or unexported fields
}
EventRunner includes all events
func NewEventRunner ¶
func NewEventRunner(events []cases.EventInner) *EventRunner
NewEventRunner news a event runner
type RaftEngine ¶
RaftEngine records all raft infomations.
func NewRaftEngine ¶
func NewRaftEngine(conf *cases.Conf, conn *Conn) (*RaftEngine, error)
NewRaftEngine creates the initialized raft with the configuration.
func (*RaftEngine) GetRegion ¶
func (r *RaftEngine) GetRegion(regionID uint64) *core.RegionInfo
GetRegion returns the RegionInfo with regionID
func (*RaftEngine) GetRegions ¶
func (r *RaftEngine) GetRegions() []*core.RegionInfo
GetRegions gets all RegionInfo from regionMap
func (*RaftEngine) RandRegion ¶
func (r *RaftEngine) RandRegion() *core.RegionInfo
RandRegion gets a region by random
func (*RaftEngine) SearchRegion ¶
func (r *RaftEngine) SearchRegion(regionKey []byte) *core.RegionInfo
SearchRegion searches the RegionInfo from regionTree
func (*RaftEngine) SetRegion ¶
func (r *RaftEngine) SetRegion(region *core.RegionInfo) []*metapb.Region
SetRegion sets the RegionInfo with regionID
type ReadFlowOnRegion ¶
type ReadFlowOnRegion struct {
// contains filtered or unexported fields
}
ReadFlowOnRegion reads bytes in some region
func (*ReadFlowOnRegion) Run ¶
func (w *ReadFlowOnRegion) Run(driver *Driver) bool
Run implements the event interface
type Task ¶
type Task interface { Desc() string RegionID() uint64 Step(r *RaftEngine) IsFinished() bool }
Task running in node.
type WriteFlowOnRegion ¶
type WriteFlowOnRegion struct {
// contains filtered or unexported fields
}
WriteFlowOnRegion writes bytes in some region
func (*WriteFlowOnRegion) Run ¶
func (w *WriteFlowOnRegion) Run(driver *Driver) bool
Run implements the event interface
type WriteFlowOnSpot ¶
type WriteFlowOnSpot struct {
// contains filtered or unexported fields
}
WriteFlowOnSpot writes bytes in some range
func (*WriteFlowOnSpot) Run ¶
func (w *WriteFlowOnSpot) Run(driver *Driver) bool
Run implements the event interface