...

Package sync

import "github.com/aws/smithy-go/sync"
Overview
Index

Overview ▾

type OnceErr

OnceErr wraps the behavior of recording an error once and signal on a channel when this has occurred. Signaling is done by closing of the channel.

Type is safe for concurrent usage.

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

func NewOnceErr

func NewOnceErr() *OnceErr

NewOnceErr return a new OnceErr

func (*OnceErr) Err

func (e *OnceErr) Err() error

Err acquires a read-lock and returns an error if one has been set.

func (*OnceErr) ErrorSet

func (e *OnceErr) ErrorSet() <-chan struct{}

ErrorSet returns a channel that will be used to signal that an error has been set. This channel will be closed when the error value has been set for OnceErr.

func (*OnceErr) SetError

func (e *OnceErr) SetError(err error)

SetError acquires a write-lock and will set the underlying error value if one has not been set.