globalclockupdater

package
v0.0.0-...-8ff1004 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2019 License: AGPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Manifold

func Manifold(config ManifoldConfig) dependency.Manifold

Manifold returns a dependency.Manifold that will run a global clock updater worker.

func NewWorker

func NewWorker(config Config) (worker.Worker, error)

NewWorker returns a new global clock updater worker, using the given configuration.

Types

type Config

type Config struct {
	// NewUpdater returns a new global clock updater.
	NewUpdater func() (globalclock.Updater, error)

	// LocalClock is the local wall clock. The times returned must
	// contain a monotonic component (Go 1.9+).
	LocalClock clock.Clock

	// UpdateInterval is the amount of time in between clock updates.
	UpdateInterval time.Duration

	// BackoffDelay is the amount of time to delay before attempting
	// another update when a concurrent write is detected.
	BackoffDelay time.Duration

	// Logger determines where we write log messages.
	Logger Logger
}

Config contains the configuration for the global clock updater worker.

func (Config) Validate

func (config Config) Validate() error

Validate validates the configuration.

type Logger

type Logger interface {
	Tracef(string, ...interface{})
	Warningf(string, ...interface{})
}

Logger defines the methods we use from loggo.Logger.

type ManifoldConfig

type ManifoldConfig struct {
	ClockName        string
	StateName        string
	LeaseManagerName string
	RaftName         string

	NewWorker      func(Config) (worker.Worker, error)
	UpdateInterval time.Duration
	BackoffDelay   time.Duration
	Logger         Logger
}

ManifoldConfig holds the information necessary to run a GlobalClockUpdater worker in a dependency.Engine.

func (ManifoldConfig) Validate

func (config ManifoldConfig) Validate() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL