Help us shape the future of Go! Take the 2026 Go Developer Survey

etcd

package
v0.17.1 Latest Latest
Warning

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

Go to latest
Published: May 21, 2015 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Etcd

type Etcd struct {
	// contains filtered or unexported fields
}

Etcd exposes a service.Allocator that is backed by etcd. TODO: allow multiple allocations to be tried at once TODO: subdivide the keyspace to reduce conflicts TODO: investigate issuing a CAS without reading first

func NewEtcd

func NewEtcd(alloc ipallocator.Snapshottable, helper tools.EtcdHelper) *Etcd

NewEtcd returns a service PortalIP ipallocator that is backed by Etcd and can manage persisting the snapshot state of allocation after each allocation is made.

func (*Etcd) Allocate

func (e *Etcd) Allocate(ip net.IP) error

Allocate attempts to allocate the IP locally and then in etcd.

func (*Etcd) AllocateNext

func (e *Etcd) AllocateNext() (net.IP, error)

AllocateNext attempts to allocate the next IP locally and then in etcd.

func (*Etcd) CreateOrUpdate

func (e *Etcd) CreateOrUpdate(snapshot *api.RangeAllocation) error

CreateOrUpdate attempts to update the current etcd state with the provided allocation.

func (*Etcd) Get

func (e *Etcd) Get() (*api.RangeAllocation, error)

Get returns an api.RangeAllocation that represents the current state in etcd. If the key does not exist, the object will have an empty ResourceVersion.

func (*Etcd) Refresh

func (e *Etcd) Refresh() error

Refresh reloads the ipallocator from etcd.

func (*Etcd) Release

func (e *Etcd) Release(ip net.IP) error

Release attempts to release the provided IP locally and then in etcd.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL