Help us shape the future of Go! Take the 2026 Go Developer Survey

lock

package
v1.18.2 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: Apache-2.0 Imports: 3 Imported by: 13

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Metadata

type Metadata struct {
	metadata.Base `json:",inline"`
}

Metadata contains a lock store specific set of metadata property.

type Status

type Status int32
const (
	Success             Status = 0
	LockDoesNotExist    Status = 1
	LockBelongsToOthers Status = 2
	InternalError       Status = 3
)

lock status.

type Store

type Store interface {
	metadata.ComponentWithMetadata

	// Init this component.
	InitLockStore(ctx context.Context, metadata Metadata) error

	// TryLock tries to acquire a lock.
	TryLock(ctx context.Context, req *TryLockRequest) (*TryLockResponse, error)

	// Unlock tries to release a lock.
	Unlock(ctx context.Context, req *UnlockRequest) (*UnlockResponse, error)

	io.Closer
}

type TryLockRequest

type TryLockRequest struct {
	ResourceID      string            `json:"resourceId"`
	LockOwner       string            `json:"lockOwner"`
	ExpiryInSeconds int32             `json:"expiryInSeconds"`
	Metadata        map[string]string `json:"metadata"`
}

TryLockRequest is a lock acquire request.

type TryLockResponse

type TryLockResponse struct {
	Success  bool              `json:"success"`
	Metadata map[string]string `json:"metadata"`
}

Lock acquire request was successful or not.

type UnlockRequest

type UnlockRequest struct {
	ResourceID string            `json:"resourceId"`
	LockOwner  string            `json:"lockOwner"`
	Metadata   map[string]string `json:"metadata"`
}

UnlockRequest is a lock release request.

type UnlockResponse

type UnlockResponse struct {
	Status   Status            `json:"status"`
	Metadata map[string]string `json:"metadata"`
}

Status when releasing the lock.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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