Data Synchronizer
Documentation status: architecture — see Maturity and evidence.
Purpose
The Data Synchronizer is the application-facing synchronization pattern for running distributed synchronization workers against the logiCells Runtime.
A synchronizer coordinates configuration, routing, lifecycle, status, and the transfer of synchronization operations. It should be treated as a Runtime capability rather than as a domain object.
Typical application shape
using var synchronizer = new DataSynchronizer(runtime);
synchronizer.Configure(options);
synchronizer.StateChanged += OnStateChanged;
await synchronizer.StartAsync(cancellationToken);
The exact generated type and members are defined by the published synchronization binding. When a package uses different generated names, use its API reference.
Operational model
A production synchronizer should expose or make observable:
- replica identity;
- connection state;
- journal/checkpoint state;
- route selection;
- current lag;
- retry and rejection counts;
- start, stop, and cancellation behavior.
Boundary rules
- do not persist
ObjectRefvalues as replica or business identity; - do not couple domain mutations to one transport;
- do not assume connected transport means synchronization is ready;
- do not allow a slow destination to create unbounded memory growth.
Status
This page documents the public integration pattern. Historical XML agent/controller/resolver configuration is not certified here as a stable cross-version contract.