Skip to main content

Interface: SyncEngine

Defined in: contract.ts:145

@rasd/sync — the public entry point.

Two things ship here: the engine (createSyncEngine), which is transport agnostic and drives @rasd/storage's outbox, and the RSP v1 transport (createRspTransport), which is one implementation of the frozen SyncTransport port. A host talking to ODK Central, KoboToolbox or its own backend replaces the second without touching the first (docs/10-sync-protocol.md §10).

Nothing in this file has an implementation; every symbol is re-exported from the module that owns it, so the graph stays a DAG: contracttypespolicy / backoff / classifyidempotencyrsp-transportengine.

Methods

dispose()

dispose(): void;

Defined in: contract.ts:155

Returns

void


getStatus()

getStatus(): SyncStatus;

Defined in: contract.ts:146

Returns

SyncStatus


on()

on<E>(event, handler): Unsubscribe;

Defined in: contract.ts:154

Type Parameters

Type Parameter
E extends keyof SyncEvents

Parameters

ParameterType
eventE
handler(e) => void

Returns

Unsubscribe


pause()

pause(): void;

Defined in: contract.ts:149

Returns

void


resume()

resume(): void;

Defined in: contract.ts:150

Returns

void


start()

start(): void;

Defined in: contract.ts:152

Begin/stop periodic + connectivity-triggered syncing.

Returns

void


stop()

stop(): void;

Defined in: contract.ts:153

Returns

void


syncNow()

syncNow(opts?): Promise<SyncStatus>;

Defined in: contract.ts:148

Runs one full pass. Single-flight: concurrent calls join the running pass.

Parameters

ParameterType
opts?{ signal?: AbortSignal; }
opts.signal?AbortSignal

Returns

Promise<SyncStatus>