Amazon.CognitoSync.SyncManager.Dataset.SynchronizeHelperAsync C# (CSharp) Метод

SynchronizeHelperAsync() приватный Метод

private SynchronizeHelperAsync ( CancellationToken cancellationToken ) : System.Threading.Task
cancellationToken System.Threading.CancellationToken
Результат System.Threading.Task
        internal async Task SynchronizeHelperAsync(CancellationToken cancellationToken)
        {
            try
            {
                if (locked)
                {
                    _logger.InfoFormat("Already in a Synchronize. Queueing new request.", DatasetName);
                    queuedSync = true;
                    return;
                }
                else
                {
                    locked = true;
                }

                waitingForConnectivity = false;

                //make a call to fetch the identity id before the synchronization starts
                await CognitoCredentials.GetIdentityIdAsync().ConfigureAwait(false);

                // there could be potential merges that could have happened due to reparenting from the previous step,
                // check and call onDatasetMerged
                bool resume = true;
                List<string> mergedDatasets = LocalMergedDatasets;
                if (mergedDatasets.Count > 0)
                {
                    _logger.InfoFormat("Detected merge datasets - {0}", DatasetName);

                    if (this.OnDatasetMerged != null)
                    {
                        resume = this.OnDatasetMerged(this, mergedDatasets);
                    }
                }

                if (!resume)
                {
                    FireSyncFailureEvent(new OperationCanceledException(string.Format("Sync canceled on merge for dataset - {0}", this.DatasetName)));
                    return;
                }
                await RunSyncOperationAsync(MAX_RETRY, cancellationToken).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                FireSyncFailureEvent(e);
                _logger.Error(e, "");
            }
        }
    }

Same methods

Dataset::SynchronizeHelperAsync ( AsyncOptions options ) : void