Documentation
¶
Overview ¶
Package sync provides source/target synchronization with conflict policies. The memory engine is suitable for demos and tests; production adapters supply cursors over their own stores.
Index ¶
Constants ¶
View Source
const DefaultMaxKeys = 4096
DefaultMaxKeys bounds in-memory demo stores.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Policy ConflictPolicy
MaxManual int // bound queued manual keys (0 = 256)
}
Config configures an Engine.
type ConflictPolicy ¶
type ConflictPolicy string
ConflictPolicy selects how source/target disagreements are resolved.
const ( PreferSource ConflictPolicy = "prefer-source" PreferTarget ConflictPolicy = "prefer-target" PreferLatest ConflictPolicy = "prefer-latest" Manual ConflictPolicy = "manual" Reject ConflictPolicy = "reject" )
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine runs sync passes.
func (*Engine) ManualKeys ¶
ManualKeys returns keys awaiting operator resolution.
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
MemoryStore is an in-process Source and Target for demos/tests.
func NewMemoryStore ¶
func NewMemoryStore(max int) *MemoryStore
NewMemoryStore creates a bounded memory store.
type Result ¶
type Result struct {
Applied int `json:"applied"`
Skipped int `json:"skipped"`
Rejected int `json:"rejected"`
Manual []string `json:"manual,omitempty"`
Cursor Cursor `json:"cursor"`
Conflicts int `json:"conflicts"`
}
Result summarizes one Sync pass.
Click to show internal directories.
Click to hide internal directories.