lock

package
v0.0.0-...-193f7af Latest Latest
Warning

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

Go to latest
Published: May 20, 2019 License: Apache-2.0 Imports: 1 Imported by: 3

Documentation

Overview

Package lock provides distributed locking

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcquireOption

type AcquireOption func(o *AcquireOptions)

func TTL

TTL sets the lock ttl

func Wait

func Wait(t time.Duration) AcquireOption

Wait sets the wait time

type AcquireOptions

type AcquireOptions struct {
	TTL  time.Duration
	Wait time.Duration
}

type Lock

type Lock interface {
	// Acquire a lock with given id
	Acquire(id string, opts ...AcquireOption) error
	// Release the lock with given id
	Release(id string) error
}

Lock is a distributed locking interface

type Option

type Option func(o *Options)

func Nodes

func Nodes(a ...string) Option

Nodes sets the addresses the underlying lock implementation

func Prefix

func Prefix(p string) Option

Prefix sets a prefix to any lock ids used

type Options

type Options struct {
	Nodes  []string
	Prefix string
}

Directories

Path Synopsis
Package consul is a consul implemenation of lock
Package consul is a consul implemenation of lock
Package etcd is an etcd implementation of lock
Package etcd is an etcd implementation of lock
Package redis is a redis implemenation of lock
Package redis is a redis implemenation of lock

Jump to

Keyboard shortcuts

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