concurrency

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AllErrorAggregator

type AllErrorAggregator func(errors []error) error

AllErrorAggregator aggregates errors.

type AllErrorRecorder

type AllErrorRecorder struct {
	Errors []error
	// contains filtered or unexported fields
}

AllErrorRecorder records all the errors.

func (*AllErrorRecorder) AggrError

func (aer *AllErrorRecorder) AggrError(aggr AllErrorAggregator) error

AggrError runs the provided aggregator over all errors and returns the error from aggregator.

func (*AllErrorRecorder) Error

func (aer *AllErrorRecorder) Error() error

Error returns an aggregate of all errors by concatenation.

func (*AllErrorRecorder) ErrorStrings

func (aer *AllErrorRecorder) ErrorStrings() []string

ErrorStrings returns all errors as string array.

func (*AllErrorRecorder) GetErrors

func (aer *AllErrorRecorder) GetErrors() []error

GetErrors returns a reference to the internal errors array.

Note that the array is not copied, so this should only be used once the recording is complete.

func (*AllErrorRecorder) HasErrors

func (aer *AllErrorRecorder) HasErrors() bool

HasErrors returns true if we ever recorded an error

func (*AllErrorRecorder) RecordError

func (aer *AllErrorRecorder) RecordError(err error)

RecordError records a possible error: - does nothing if err is nil

type ErrorRecorder

type ErrorRecorder interface {
	RecordError(error)
	HasErrors() bool
	Error() error
}

ErrorRecorder offers a way to record errors during complex asynchronous operations. Various implementation will offer different services.

type FirstErrorRecorder

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

FirstErrorRecorder records the first error, logs the others. Error() will return the first recorded error or nil.

func (*FirstErrorRecorder) Error

func (fer *FirstErrorRecorder) Error() error

Error returns the first error we saw, or nil

func (*FirstErrorRecorder) HasErrors

func (fer *FirstErrorRecorder) HasErrors() bool

HasErrors returns true if we ever recorded an error

func (*FirstErrorRecorder) RecordError

func (fer *FirstErrorRecorder) RecordError(err error)

RecordError records a possible error: - does nothing if err is nil - only records the first error reported - the rest is just logged

Jump to

Keyboard shortcuts

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