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")