lifeflag

package
v0.0.0-...-b0bff92 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2021 License: AGPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = errors.New("entity not found")

ErrNotFound indicates that the requested entity no longer exists.

We avoid errors.NotFound, because errors.NotFound is non-specific, and it's our job to communicate *this specific condition*. There are many possible sources of errors.NotFound in the world, and it's not safe or sane for a client to treat a generic NotFound as specific to the entity in question.

We're still vulnerable to apiservers returning unjustified CodeNotFound but at least we're safe from accidental errors.NotFound injection in the api client mechanism.

Functions

This section is empty.

Types

type Facade

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

Facade makes calls to the LifeFlag facade.

func NewFacade

func NewFacade(caller base.APICaller, newWatcher NewWatcherFunc) *Facade

NewFacade returns a new Facade using the supplied caller.

func (*Facade) Life

func (facade *Facade) Life(entity names.Tag) (life.Value, error)

Life returns the entity's life value; or ErrNotFound; or some other error.

func (*Facade) Watch

func (facade *Facade) Watch(entity names.Tag) (watcher.NotifyWatcher, error)

Watch returns a NotifyWatcher that sends a value whenever the entity's life value may have changed; or ErrNotFound; or some other error.

type NewWatcherFunc

NewWatcherFunc exists to let us test Watch properly.

Jump to

Keyboard shortcuts

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