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

etcd

package
v1.3.5 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2016 License: Apache-2.0 Imports: 12 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 allocator.Snapshottable, baseKey string, resource unversioned.GroupResource, storage storage.Interface) *Etcd

NewEtcd returns an allocator 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(offset int) (bool, error)

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

func (*Etcd) AllocateNext

func (e *Etcd) AllocateNext() (int, bool, error)

AllocateNext attempts to allocate the next item 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) Free

func (e *Etcd) Free() int

Implements allocator.Interface::Free

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

func (e *Etcd) Has(item int) bool

Implements allocator.Interface::Has

func (*Etcd) Refresh

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

Refresh reloads the RangeAllocation from etcd.

func (*Etcd) Release

func (e *Etcd) Release(item int) error

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

Jump to

Keyboard shortcuts

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