DatumSyncEngine<T extends DatumEntityInterface> class

The core engine that orchestrates the synchronization process.

Constructors

DatumSyncEngine({required LocalAdapter<T> localAdapter, required RemoteAdapter<T> remoteAdapter, required DatumConflictResolver<T> conflictResolver, required QueueManager<T> queueManager, required DatumConflictDetector<T> conflictDetector, required DatumLogger logger, required DatumConfig<DatumEntityInterface> config, required DatumConnectivityChecker connectivityChecker, required StreamController<DatumSyncEvent<T>> eventController, required BehaviorSubject<DatumSyncStatusSnapshot> statusSubject, required BehaviorSubject<DatumSyncMetadata> metadataSubject, required IsolateHelper isolateHelper, List<DatumObserver<T>> localObservers = const [], List<GlobalDatumObserver> globalObservers = const [], String? deviceId})

Properties

config DatumConfig<DatumEntityInterface>
final
conflictDetector DatumConflictDetector<T>
final
conflictResolver DatumConflictResolver<T>
final
connectivityChecker DatumConnectivityChecker
final
deviceId String?
final
entityName String
no setter
eventController StreamController<DatumSyncEvent<T>>
final
globalObservers List<GlobalDatumObserver>
final
hashCode int
The hash code for this object.
no setterinherited
isolateHelper IsolateHelper
final
isSyncing bool
Returns true if a synchronization process is currently active.
no setter
lastActiveUserId String?
no setter
localAdapter LocalAdapter<T>
final
localObservers List<DatumObserver<T>>
final
logger DatumLogger
final
metadataSubject → BehaviorSubject<DatumSyncMetadata>
final
queueManager QueueManager<T>
final
remoteAdapter RemoteAdapter<T>
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
statusSubject → BehaviorSubject<DatumSyncStatusSnapshot>
final

Methods

checkForUserSwitch(String newUserId) Future<void>
Checks if the active user has changed and emits an event if so.
checkHealth() Future<DatumHealth>
Performs a health check on the local and remote adapters.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
synchronize(String userId, {bool force = false, DatumSyncOptions<T>? options, DatumSyncScope? scope}) FutureOr<(DatumSyncResult<T>, List<DatumSyncEvent<T>>)>
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited