Versions in this module Expand all Collapse all v1 v1.0.0 Apr 23, 2024 Changes in this version + var ErrEmptyName = errors.New("lock name cannot be empty") + var ErrLockWaitTimeout = errors.New("timeout waiting to acquire lock") + type LockSrv struct + func New(c *LockSrvConfig) (*LockSrv, func()) + func (l *LockSrv) HandleConn(ctx context.Context, s stats.ConnStats) + func (l *LockSrv) HandleRPC(ctx context.Context, s stats.RPCStats) + func (l *LockSrv) Lock(ctx context.Context, r *pb.LockRequest) (*pb.LockResponse, error) + func (l *LockSrv) Locks() []cl.ClientLock + func (l *LockSrv) RefreshLock(ctx context.Context, r *pb.RefreshLockRequest) (*pb.LockResponse, error) + func (l *LockSrv) TagConn(ctx context.Context, info *stats.ConnTagInfo) context.Context + func (l *LockSrv) TagRPC(ctx context.Context, info *stats.RPCTagInfo) context.Context + func (l *LockSrv) TryLock(ctx context.Context, r *pb.TryLockRequest) (*pb.LockResponse, error) + func (l *LockSrv) Unlock(ctx context.Context, r *pb.UnlockRequest) (*pb.UnlockResponse, error) + type LockSrvConfig struct + DefaultLockTimeout time.Duration + LockGcInterval time.Duration + LockGcMinIdle time.Duration + NoClearOnDisconnect bool