etcd

package
Version: v1.2.1 Latest Latest
Warning

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

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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.

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 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