Documentation ¶
Index ¶
- type CContainer
- func (c *CContainer[T]) SetValue(val T)
- func (c *CContainer[T]) WaitValue(ctx context.Context, errCh <-chan error) (T, error)
- func (c *CContainer[T]) WaitValueChange(ctx context.Context, old T, errCh <-chan error) (T, error)
- func (c *CContainer[T]) WaitValueEmpty(ctx context.Context, errCh <-chan error) error
- func (c *CContainer[T]) WaitValueWithValidator(ctx context.Context, valid func(v T) (bool, error), errCh <-chan error) (T, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CContainer ¶
type CContainer[T comparable] struct { // contains filtered or unexported fields }
CContainer is a concurrent container.
func NewCContainer ¶
func NewCContainer[T comparable](val T) *CContainer[T]
NewCContainer builds a CContainer with an initial value.
func (*CContainer[T]) SetValue ¶
func (c *CContainer[T]) SetValue(val T)
SetValue sets the ccontainer value.
Be sure to check for nil when setting if necessary: untyped nil is still considered a set value.
func (*CContainer[T]) WaitValue ¶
func (c *CContainer[T]) WaitValue(ctx context.Context, errCh <-chan error) (T, error)
WaitValue waits for any non-nil value in the container. errCh is an optional channel to read an error from.
func (*CContainer[T]) WaitValueChange ¶
func (c *CContainer[T]) WaitValueChange(ctx context.Context, old T, errCh <-chan error) (T, error)
WaitValueChange waits for a value that is different than the given. errCh is an optional channel to read an error from.
func (*CContainer[T]) WaitValueEmpty ¶
func (c *CContainer[T]) WaitValueEmpty(ctx context.Context, errCh <-chan error) error
WaitValueEmpty waits for a untyped nil value. errCh is an optional channel to read an error from.
func (*CContainer[T]) WaitValueWithValidator ¶
func (c *CContainer[T]) WaitValueWithValidator( ctx context.Context, valid func(v T) (bool, error), errCh <-chan error, ) (T, error)
WaitValueWithValidator waits for any value that matches the validator in the container. errCh is an optional channel to read an error from.