exclusion

package
v1.3.3 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcquireContainerLockEntry added in v1.2.0

type AcquireContainerLockEntry struct {
	Exclusive bool
	Init      bool
	// contains filtered or unexported fields
}

func (*AcquireContainerLockEntry) ContainerLock added in v1.2.0

func (p *AcquireContainerLockEntry) ContainerLock() *ContainerLock

type AcquireParam added in v1.2.0

type AcquireParam struct {
	Lock   func(ctx context.Context, notifyLock func()) error
	Unlock func()
}

type Acquirer added in v1.2.0

type Acquirer struct {
	// contains filtered or unexported fields
}

func NewAcquirer added in v1.2.0

func NewAcquirer() *Acquirer

func (*Acquirer) Acquire added in v1.2.0

func (a *Acquirer) Acquire(ctx context.Context, params map[string]AcquireParam) error

func (*Acquirer) Release added in v1.2.0

func (a *Acquirer) Release(params map[string]AcquireParam)

type ContainerLock

type ContainerLock struct {
	// contains filtered or unexported fields
}

func (*ContainerLock) InitAcquired

func (l *ContainerLock) InitAcquired() bool

func (*ContainerLock) Release

func (l *ContainerLock) Release()

func (*ContainerLock) SetInitResult

func (l *ContainerLock) SetInitResult(ok bool)

type ContainerUseParam added in v1.2.0

type ContainerUseParam struct {
	Exclusive bool
	Init      func(ctx context.Context) error
}

type Control

type Control interface {
	LockForNamespace(ctx context.Context) (func(), error)
	LockForBuild(ctx context.Context, image string) (func(), error)
	LockForContainerSetup(ctx context.Context, name string) (func(), error)
	LockForContainerUse(ctx context.Context, params map[string]ContainerUseParam) (unlock func(), err error)
}

func NewBeaconControl

func NewBeaconControl(cli proto.BeaconServiceClient) Control

func NewControl

func NewControl() Control

type KeyedLock

type KeyedLock struct {
	// contains filtered or unexported fields
}

func NewKeyedLock

func NewKeyedLock() *KeyedLock

func (*KeyedLock) Downgrade

func (k *KeyedLock) Downgrade(key string)

func (*KeyedLock) Lock

func (k *KeyedLock) Lock(ctx context.Context, key string) error

func (*KeyedLock) RLock

func (k *KeyedLock) RLock(ctx context.Context, key string) error

func (*KeyedLock) RUnlock

func (k *KeyedLock) RUnlock(key string)

func (*KeyedLock) Unlock

func (k *KeyedLock) Unlock(key string)

type Locker

type Locker struct {
	// contains filtered or unexported fields
}

func NewLocker

func NewLocker() *Locker

func (*Locker) AcquireContainerLock

func (l *Locker) AcquireContainerLock(ctx context.Context, entries map[string]*AcquireContainerLockEntry) (func(), error)

func (*Locker) LockForBuild

func (l *Locker) LockForBuild(ctx context.Context, image string) (func(), error)

func (*Locker) LockForContainerSetup

func (l *Locker) LockForContainerSetup(ctx context.Context, name string) (func(), error)

func (*Locker) LockForNamespace

func (l *Locker) LockForNamespace() func()

Jump to

Keyboard shortcuts

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