Documentation ¶
Index ¶
Constants ¶
View Source
const ( // MaxSleep is the longest the manager will sleep before checking // whether any leases should be expired. If it can see a lease // expiring sooner than that it will still wake up earlier. MaxSleep = time.Minute // ForwardTimeout is how long the store should wait for a response // after sending a lease operation over the hub before deciding a // a response is never coming back (for example if we send the // request during a raft-leadership election). This should be long // enough that we can be very confident the request was missed. ForwardTimeout = 5 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func Manifold ¶
func Manifold(config ManifoldConfig) dependency.Manifold
Manifold builds a dependency.Manifold for running a lease manager.
func NewStore ¶
func NewStore(config raftlease.StoreConfig) *raftlease.Store
NewStore is a shim to make a raftlease.Store for testability.
func NewWorker ¶
func NewWorker(config lease.ManagerConfig) (worker.Worker, error)
NewWorker wraps NewManager to return worker.Worker for testability.
Types ¶
type ManifoldConfig ¶
type ManifoldConfig struct { AgentName string ClockName string CentralHubName string StateName string FSM *raftlease.FSM RequestTopic string Logger lease.Logger LogDir string PrometheusRegisterer prometheus.Registerer NewWorker func(lease.ManagerConfig) (worker.Worker, error) NewStore func(raftlease.StoreConfig) *raftlease.Store }
ManifoldConfig holds the resources needed to start the lease manager in a dependency engine.
func (ManifoldConfig) Validate ¶
func (c ManifoldConfig) Validate() error
Validate checks that the config has all the required values.
Click to show internal directories.
Click to hide internal directories.