Version: v1.2.1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Aug 16, 2018 License: Apache-2.0 Imports: 8 Imported by: 0



Package etcd holds an etcd-specific implementation of the util.MasterElection interface.



This section is empty.


This section is empty.


func NewClient

func NewClient(servers string) (*clientv3.Client, error)

NewClient returns an etcd client, or nil if servers is empty. The servers parameter should be a comma-separated list of etcd server URIs.


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 string) (election.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) GetCurrentMaster

func (eme *MasterElection) GetCurrentMaster(ctx context.Context) (string, error)

GetCurrentMaster returns the instanceID of the current master, if any.

func (*MasterElection) IsMaster

func (eme *MasterElection) IsMaster(ctx context.Context) (bool, error)

IsMaster returns whether the current instance is the master.

func (*MasterElection) Resign

func (eme *MasterElection) Resign(ctx context.Context) error

Resign releases mastership.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to