package etcd
import "github.com/google/trillian/util/etcd"
Package etcd holds an etcd-specific implementation of the util.MasterElection interface.
Index ¶
- func NewClient(servers string) (*clientv3.Client, error)
- type ElectionFactory
- func NewElectionFactory(instanceID string, client *clientv3.Client, lockDir string) *ElectionFactory
- func (ef ElectionFactory) NewElection(ctx context.Context, treeID int64) (util.MasterElection, error)
- 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
Functions ¶
func NewClient ¶
NewClient returns an etcd client, or nil if servers is empty. The servers parameter should be a comma-separated list of etcd server URIs.
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.
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.
Source Files ¶
- Version
- v1.0.3
- Published
- Nov 17, 2017
- Platform
- js/wasm
- Imports
- 8 packages
- Last checked
- 4 hours ago –
Tools for package owners.