Skip to content
EN FR

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 ObjectRef values 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.