Package syncs will sync multiple stores



This section is empty.


This section is empty.


This section is empty.


type Option

type Option func(o *Options)

Option sets Sync Options

func Stores

func Stores(stores Option

Stores sets the layers that make up the sync

func SyncInterval

func SyncInterval(d time.Duration) Option

SyncInterval sets the duration between syncs from L0 to L1

func SyncMultiplier

func SyncMultiplier(i int64) Option

SyncMultiplier sets the multiplication factor for time to wait each sync layer

type Options

type Options struct {
	// Stores represents layers in the sync in ascending order. L0, L1, L2, etc
	Stores []store.Store
	// SyncInterval is the duration between syncs from L0 to L1
	SyncInterval time.Duration
	// SyncMultiplier is the multiplication factor between each store.
	SyncMultiplier int64

Options represents Sync options

type Sync

type Sync interface {
	// Implements the store interface
	// Force a full sync
	Sync() error

Sync implements a sync in for stores

func NewSync

func NewSync(opts ...Option) Sync

NewSync returns a new Sync