statemachine

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2024 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

Run the state machine to reconcile the ReplicationController

Types

type ReplicationMachine

type ReplicationMachine interface {
	Cronspec() string
	ManualTag() string
	LastManualTag() string
	SetLastManualTag(string)

	NextSyncTime() *metav1.Time
	SetNextSyncTime(*metav1.Time)

	LastSyncStartTime() *metav1.Time
	SetLastSyncStartTime(*metav1.Time)

	LastSyncTime() *metav1.Time
	SetLastSyncTime(*metav1.Time)

	LastSyncDuration() *metav1.Duration
	SetLastSyncDuration(*metav1.Duration)

	Conditions() *[]metav1.Condition

	SetOutOfSync(bool)
	IncMissedIntervals()
	ObserveSyncDuration(time.Duration)

	Synchronize(ctx context.Context) (mover.Result, error)
	Cleanup(ctx context.Context) (mover.Result, error)
}

ReplicationMachine is a common interface to the ReplicationSource and ReplicationDestination types that allow us to generically implement the synchronization state machine.

Jump to

Keyboard shortcuts

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