multierr

package
v0.0.0-...-42652a5 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2022 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrGroup

type ErrGroup struct {
	*errgroup.Group
	// contains filtered or unexported fields
}

ErrGroup implements a group of parallel running tasks allowing to wait for all routines to terminate, as well as error handling.

func NewErrGroup

func NewErrGroup(ctx context.Context) (*ErrGroup, context.Context)

NewErrGroup creates a new ErrGroup using passed context.

func (*ErrGroup) Go

func (g *ErrGroup) Go(f func() error)

Go starts a new goroutine. Termination of all functions can be checked via Wait or WaitChan. The ErrGroup closes the internal context when the first go-routine returns with an error.

func (*ErrGroup) Wait

func (g *ErrGroup) Wait() *multierror.Error

Wait blocks until all goroutines of the error group have terminated and returns the accumulated errors.

func (*ErrGroup) WaitChan

func (g *ErrGroup) WaitChan() <-chan *multierror.Error

WaitChan returns a channel that is closed after the error group terminates, possibly containing the error

type Errors

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

Errors represent a list of errors triggered during the execution of a goka view/processor. Normally, the first error leads to stopping the processor/view, but during shutdown, more errors might occur. DEPRECATED. This will be removed one day, we migrated to the implementation in github.com/hashicorp/go-multierror

func (*Errors) Collect

func (e *Errors) Collect(err error) *Errors

func (*Errors) Error

func (e *Errors) Error() string

func (*Errors) HasErrors

func (e *Errors) HasErrors() bool

func (*Errors) Merge

func (e *Errors) Merge(o *Errors) *Errors

func (*Errors) NilOrError

func (e *Errors) NilOrError() error

type MultiWait

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

func NewMultiWait

func NewMultiWait(ctx context.Context, num int) *MultiWait

func (*MultiWait) Add

func (mw *MultiWait) Add(done <-chan struct{})

func (*MultiWait) Done

func (mw *MultiWait) Done() <-chan struct{}

func (*MultiWait) Wait

func (mw *MultiWait) Wait() bool

Jump to

Keyboard shortcuts

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