in src/Dataset.cs [622:667]
private void SynchornizeInternal()
#else
private async Task SynchornizeInternalAsync(CancellationToken cancellationToken)
#endif
{
//make sure we have the latest identity id
try
{
#if BCL35
CognitoCredentials.GetIdentityId();
#else
await CognitoCredentials.GetIdentityIdAsync().ConfigureAwait(false);
#endif
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)
{
EndSynchronizeAndCleanup();
FireSyncFailureEvent(new OperationCanceledException(string.Format(CultureInfo.InvariantCulture, "Sync canceled on merge for dataset - {0}", this.DatasetName)));
return;
}
#if BCL35
RunSyncOperation(MAX_RETRY);
#else
await RunSyncOperationAsync(MAX_RETRY, cancellationToken).ConfigureAwait(false);
#endif
}
catch (Exception e)
{
EndSynchronizeAndCleanup();
FireSyncFailureEvent(e);
_logger.Error(e, "");
}
}