dlock

package
v2.9.0-nightly.20240119 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package dlock implements a distributed lock on top of etcd.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DLock

type DLock interface {
	// Lock acquries the distributed lock, blocking if necessary.  If
	// the lock is acquired, it returns a context that should be used
	// in any subsequent blocking requests, so that if you lose the lock,
	// the requests get cancelled correctly.
	Lock(context.Context) (context.Context, error)
	// TryLock is like Lock, but returns an error if the lock is already locked.
	TryLock(context.Context) (context.Context, error)
	// Unlock releases the distributed lock.
	Unlock(context.Context) error
}

DLock is a handle to a distributed lock.

func NewDLock

func NewDLock(client *etcd.Client, prefix string) DLock

NewDLock attempts to acquire a distributed lock that locks a given prefix in the data store.

Jump to

Keyboard shortcuts

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