SlowSyncManager
internal fun SlowSyncManager(slowSyncCriteriaProvider: SlowSyncCriteriaProvider, slowSyncRepository: SlowSyncRepository, slowSyncWorker: SlowSyncWorker, slowSyncRecoveryHandler: SlowSyncRecoveryHandler, networkStateObserver: NetworkStateObserver, syncMigrationStepsProvider: () -> SyncMigrationStepsProvider, userScopedLogger: KaliumLogger, apiVersion: Int, exponentialDurationHelper: ExponentialDurationHelper = ExponentialDurationHelper(
SlowSyncManager.MIN_RETRY_DELAY,
SlowSyncManager.MAX_RETRY_DELAY
)): SlowSyncManager
Starts and stops SlowSync based on a set of criteria, defined in SlowSyncCriteriaProvider. Once the criteria are met, this Manager will take care of running SlowSync.
Ideally, SlowSync should run only once after the initial log-in / client registration. But IncrementalSyncManager might invalidate this and request a new SlowSync in case some Event is lost.