69 lines
2.2 KiB
Swift
69 lines
2.2 KiB
Swift
//
|
|
// Copyright Amazon.com Inc. or its affiliates.
|
|
// All Rights Reserved.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
import Amplify
|
|
import AWSPluginsCore
|
|
import Combine
|
|
|
|
extension RemoteSyncEngine {
|
|
|
|
/// States are descriptive, they say what is happening in the system right now
|
|
enum State {
|
|
case notStarted
|
|
|
|
case pausingSubscriptions
|
|
case pausingMutationQueue
|
|
case clearingStateOutgoingMutations(StorageEngineAdapter)
|
|
case initializingSubscriptions(APICategoryGraphQLBehaviorExtended, StorageEngineAdapter)
|
|
case performingInitialSync
|
|
case activatingCloudSubscriptions
|
|
case activatingMutationQueue(APICategoryGraphQLBehaviorExtended, MutationEventPublisher, IncomingEventReconciliationQueue?)
|
|
case notifyingSyncStarted
|
|
|
|
case syncEngineActive
|
|
|
|
case cleaningUp(AmplifyError)
|
|
case cleaningUpForTermination
|
|
|
|
case schedulingRestart(AmplifyError)
|
|
case terminate
|
|
|
|
var displayName: String {
|
|
switch self {
|
|
case .notStarted:
|
|
return "notStarted"
|
|
case .pausingSubscriptions:
|
|
return "pausingSubscriptions"
|
|
case .pausingMutationQueue:
|
|
return "pausingMutationQueue"
|
|
case .clearingStateOutgoingMutations:
|
|
return "clearingStateOutgoingMutations"
|
|
case .initializingSubscriptions:
|
|
return "initializingSubscriptions"
|
|
case .performingInitialSync:
|
|
return "performingInitialSync"
|
|
case .activatingCloudSubscriptions:
|
|
return "activatingCloudSubscriptions"
|
|
case .activatingMutationQueue:
|
|
return "activatingMutationQueue"
|
|
case .notifyingSyncStarted:
|
|
return "notifyingSyncStarted"
|
|
case .syncEngineActive:
|
|
return "syncEngineActive"
|
|
case .cleaningUp:
|
|
return "cleaningUp"
|
|
case .cleaningUpForTermination:
|
|
return "cleaningUpForTermination"
|
|
case .schedulingRestart:
|
|
return "schedulingRestart"
|
|
case .terminate:
|
|
return "terminate"
|
|
}
|
|
}
|
|
}
|
|
}
|