Documentation ¶
Index ¶
- Variables
- func AgentDone(logger loggo.Logger, err error) error
- func ConnectionIsFatal(logger loggo.Logger, conns ...Breakable) func(err error) bool
- func IsFatal(err error) bool
- func MoreImportant(err0, err1 error) bool
- func MoreImportantError(err0, err1 error) error
- func NewCloseWorker(logger loggo.Logger, worker worker.Worker, closer io.Closer) worker.Worker
- func NewEnsureServerParams(agentConfig agent.Config) (mongo.EnsureServerParams, error)
- func ParamsStateServingInfoToStateStateServingInfo(i params.StateServingInfo) state.StateServingInfo
- func PingerIsFatal(logger loggo.Logger, conns ...Pinger) func(err error) bool
- func RequiredError(name string) error
- type Breakable
- type CloseWorker
- type FatalError
- type Pinger
Constants ¶
This section is empty.
Variables ¶
var ( DataDir = paths.MustSucceed(paths.DataDir(series.MustHostSeries())) EnsureMongoServer = mongo.EnsureServer )
var ConnectionIsDead = func(logger loggo.Logger, conn Breakable) bool {
return conn.IsBroken()
}
ConnectionIsDead returns true if the given Breakable is broken.
var PingerIsDead = func(logger loggo.Logger, conn Pinger) bool { if err := conn.Ping(); err != nil { logger.Infof("error pinging %T: %v", conn, err) return true } return false }
PingerIsDead returns true if the given pinger fails to ping.
Functions ¶
func ConnectionIsFatal ¶
ConnectionIsFatal returns a function suitable for passing as the isFatal argument to worker.NewRunner, that diagnoses an error as fatal if the connection has failed or if the error is otherwise fatal.
func MoreImportant ¶
MoreImportant returns whether err0 is more important than err1 - that is, whether we should act on err0 in preference to err1.
func MoreImportantError ¶
MoreImportantError returns the most important error
func NewCloseWorker ¶
NewCloseWorker returns a task that wraps the given task, closing the given closer when it finishes.
func NewEnsureServerParams ¶
func NewEnsureServerParams(agentConfig agent.Config) (mongo.EnsureServerParams, error)
NewEnsureServerParams creates an EnsureServerParams from an agent configuration.
func ParamsStateServingInfoToStateStateServingInfo ¶
func ParamsStateServingInfoToStateStateServingInfo(i params.StateServingInfo) state.StateServingInfo
ParamsStateServingInfoToStateStateServingInfo converts a params.StateServingInfo to a state.StateServingInfo.
func PingerIsFatal ¶
PingerIsFatal returns a function suitable for passing as the isFatal argument to worker.NewRunner, that diagnoses an error as fatal if the Pinger has failed or if the error is otherwise fatal.
TODO(mjs) - this only exists for checking State instances in the machine agent and won't be necessary once either:
- State grows a Broken() channel like api.Connection (which is actually quite a nice idea).
- The dependency engine conversion is completed for the machine agent.
func RequiredError ¶
RequiredError is useful when complaining about missing command-line options.
Types ¶
type Breakable ¶
type Breakable interface {
IsBroken() bool
}
Breakable provides a type that exposes an IsBroken check.
type CloseWorker ¶
type CloseWorker struct {
// contains filtered or unexported fields
}
CloseWorker is a worker which closes the given closer when finished with a task.
func (*CloseWorker) Kill ¶
func (c *CloseWorker) Kill()
func (*CloseWorker) Wait ¶
func (c *CloseWorker) Wait() error
type FatalError ¶
type FatalError struct {
Err string
}
FatalError is an error type designated for fatal errors.