Documentation ¶
Overview ¶
Package etcd holds an etcd-specific implementation of the util.MasterElection interface.
Index ¶
- func NewClient(servers string) (*clientv3.Client, error)
- type ElectionFactory
- type MasterElection
- func (eme *MasterElection) Close(ctx context.Context) error
- func (eme *MasterElection) IsMaster(ctx context.Context) (bool, error)
- func (eme *MasterElection) ResignAndRestart(ctx context.Context) error
- func (eme *MasterElection) Start(ctx context.Context) error
- func (eme *MasterElection) WaitForMastership(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ElectionFactory ¶
type ElectionFactory struct {
// contains filtered or unexported fields
}
ElectionFactory creates etcd.MasterElection instances.
func NewElectionFactory ¶
func NewElectionFactory(instanceID string, client *clientv3.Client, lockDir string) *ElectionFactory
NewElectionFactory builds an election factory that uses the given parameters. The passed in etcd client should remain valid for the lifetime of the ElectionFactory.
func (ElectionFactory) NewElection ¶
func (ef ElectionFactory) NewElection(ctx context.Context, treeID int64) (util.MasterElection, error)
NewElection creates a specific etcd.MasterElection instance.
type MasterElection ¶
type MasterElection struct {
// contains filtered or unexported fields
}
MasterElection is an implementation of util.MasterElection based on etcd.
func (*MasterElection) Close ¶
func (eme *MasterElection) Close(ctx context.Context) error
Close terminates election operation.
func (*MasterElection) IsMaster ¶
func (eme *MasterElection) IsMaster(ctx context.Context) (bool, error)
IsMaster returns whether the current instance is the master.
func (*MasterElection) ResignAndRestart ¶
func (eme *MasterElection) ResignAndRestart(ctx context.Context) error
ResignAndRestart releases mastership, and re-joins the election.
func (*MasterElection) Start ¶
func (eme *MasterElection) Start(ctx context.Context) error
Start commences election operation.
func (*MasterElection) WaitForMastership ¶
func (eme *MasterElection) WaitForMastership(ctx context.Context) error
WaitForMastership blocks until the current instance is master.