offline_sync_outbox library

Offline-first FIFO synchronization for Dart and Flutter applications.

Classes

AlwaysOnlineSyncConnectivity
Connectivity source that is always online.
JsonFileSyncStore
A durable JSON file store for mobile, desktop, and server Dart runtimes.
ManualSyncConnectivity
Manually controlled connectivity source for tests and custom adapters.
MemorySyncStore
An in-memory SyncStore useful for tests and ephemeral queues.
OfflineSyncManager
Coordinates a persistent, strict-FIFO offline operation queue.
SyncConnectivity
Connectivity source used to pause and resume synchronization.
SyncEvent
Diagnostic information about a queue lifecycle transition.
SyncOperation
A serializable unit of work stored in the offline queue.
SyncReport
Aggregate result of one synchronization pass.
SyncResult
Describes the outcome returned by a sync processor.
SyncRetryPolicy
Configurable exponential-backoff policy for failed operations.
SyncStore
Persistence contract used by an offline sync manager.

Enums

SyncDisposition
The action the manager should take after processing an operation.
SyncEventType
Lifecycle event emitted by the sync manager.

Typedefs

SyncClock = DateTime Function()
Clock callback used to make scheduling deterministic in tests.
SyncProcessor = Future<SyncResult> Function(SyncOperation operation)
Processes one queued operation and returns its disposition.

Exceptions / Errors

SyncStoreException
Wraps persistence failures with store-specific context.