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.