pachyderm: github.com/pachyderm/pachyderm/src/server/pkg/dlock Index | Files

package dlock

import "github.com/pachyderm/pachyderm/src/server/pkg/dlock"

Package dlock implements a distributed lock on top of etcd.

Index

Package Files

dlock.go

type DLock Uses

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)
    // Unlock releases the distributed lock.
    Unlock(context.Context) error
}

DLock is a handle to a distributed lock.

func NewDLock Uses

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

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

Package dlock imports 3 packages (graph) and is imported by 4 packages. Updated 2019-02-24. Refresh now. Tools for package owners.