latch

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2022 License: BSD-2-Clause Imports: 2 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CountDownLatch

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

CountDownLatch is the same as sync.WaitGroup but with the ability to wait with timeout

func NewCountDownLatch

func NewCountDownLatch() *CountDownLatch

NewCountDownLatch creates a new CountDownLatch

func (*CountDownLatch) Add

func (l *CountDownLatch) Add(delta int)

Add increases/decreases the countdown

func (*CountDownLatch) Close

func (l *CountDownLatch) Close()

Close closes the latch unblocking wait

func (*CountDownLatch) Counter

func (l *CountDownLatch) Counter() int

Counter returns the current count down number

func (*CountDownLatch) Done

func (l *CountDownLatch) Done()

Done decreases the countdown by one

func (*CountDownLatch) Wait

func (l *CountDownLatch) Wait() <-chan struct{}

Wait to be unblocked

func (*CountDownLatch) WaitWithTimeout

func (l *CountDownLatch) WaitWithTimeout(timeout time.Duration) bool

WaitWithTimeout waits until the timeout runs out or until the countdown is zero

type Latch

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

Latch reusable lock that uses a channel to wait for the release of the lock

func NewLatch

func NewLatch() *Latch

NewLatch creates a new LockerChan

func (*Latch) Lock

func (c *Latch) Lock()

Lock locks the release of wait

func (*Latch) Unlock

func (c *Latch) Unlock()

Unlock releases the lock

func (*Latch) Wait

func (c *Latch) Wait() <-chan struct{}

Wait wait for the lock to be released

Jump to

Keyboard shortcuts

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