This section is empty.


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.


This section is empty.


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.

Source Files