Documentation ¶
Index ¶
Constants ¶
View Source
const (
SemaphorePrefix = keyPrefix + "/semaphore"
)
Variables ¶
View Source
var ( ErrExist = errors.New("holder exists") ErrNotExist = errors.New("holder does not exist") )
Functions ¶
This section is empty.
Types ¶
type EtcdLockClient ¶
type EtcdLockClient struct {
// contains filtered or unexported fields
}
EtcdLockClient is a wrapper around the go-etcd client that provides simple primitives to operate on the internal semaphore and holders structs through etcd.
func NewEtcdLockClient ¶
func NewEtcdLockClient(machines []string) (client *EtcdLockClient, err error)
func (*EtcdLockClient) Get ¶
func (c *EtcdLockClient) Get() (sem *Semaphore, err error)
Get fetches the Semaphore from etcd.
func (*EtcdLockClient) Init ¶
func (c *EtcdLockClient) Init() (err error)
Init sets an initial copy of the semaphore if it doesn't exist yet.
func (*EtcdLockClient) Set ¶
func (c *EtcdLockClient) Set(sem *Semaphore) (err error)
Set sets a Semaphore in etcd.
type Lock ¶
type Lock struct {
// contains filtered or unexported fields
}
func New ¶
func New(id string, client LockClient) (lock *Lock)
type LockClient ¶
Click to show internal directories.
Click to hide internal directories.