Documentation
¶
Index ¶
Constants ¶
View Source
const ( // EtcdLeaderElector is the id used when constructing an // etcdLeaderElector instance through the factory. EtcdLeaderElector = "etcd" )
View Source
const Subsystem = "CLUS"
Subsystem defines the logging code for this subsystem.
Variables ¶
This section is empty.
Functions ¶
func RegisterLeaderElectorFactory ¶
func RegisterLeaderElectorFactory(id string, factory leaderElectorFactoryFunc)
RegisterLeaderElectorFactory will register a new LeaderElector factory method corresponding to the passed id.
Types ¶
type LeaderElector ¶
type LeaderElector interface {
// Campaign starts a run for leadership. Campaign will block until
// the caller is elected as the leader.
Campaign(ctx context.Context) error
// Resign resigns from the leader role, allowing other election members
// to take on leadership.
Resign(ctx context.Context) error
// Leader returns the leader value for the current election.
Leader(ctx context.Context) (string, error)
// IsLeader returns true if the caller is the leader.
IsLeader(ctx context.Context) (bool, error)
}
LeaderElector is a general interface implementing basic leader elections in a clustered environment.
func MakeLeaderElector ¶
func MakeLeaderElector(ctx context.Context, id string, args ...interface{}) ( LeaderElector, error)
MakeLeaderElector will construct a LeaderElector identified by id with the passed arguments.
Click to show internal directories.
Click to hide internal directories.