github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/state/leadership/interface.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package leadership
     5  
     6  import (
     7  	"github.com/juju/errors"
     8  
     9  	"github.com/juju/juju/leadership"
    10  )
    11  
    12  // ManagerWorker implements leadership functions, and worker.Worker. We don't
    13  // import worker because it pulls in a lot of dependencies and causes import
    14  // cycles when you try to use leadership in state. We should break this cycle
    15  // elsewhere if we can.
    16  type ManagerWorker interface {
    17  	leadership.Checker
    18  	leadership.Claimer
    19  	Kill()
    20  	Wait() error
    21  }
    22  
    23  // errStopped is returned to clients when an operation cannot complete because
    24  // the manager has started (and possibly finished) shutdown.
    25  var errStopped = errors.New("leadership manager stopped")