예제 #1
0
        internal static void SetLocalTickCountRanges(SyncKnowledge knowledge, ulong newTick)
        {
            SyncKnowledge knowledge1 = knowledge.Clone();

            knowledge.SetLocalTickCount(newTick);
            knowledge.Combine(knowledge1);
        }
예제 #2
0
        public override void GetSyncBatchParameters(out uint batchSize, out SyncKnowledge knowledge)
        {
            batchSize = RequestedBatchSize;
            try {
                SyncKnowledge = Proxy.GetCurrentSyncKnowledge(Path, _filters);
            }
            catch (Exception ex) {
                throw ex;
            }

            knowledge = SyncKnowledge.Clone();
        }
예제 #3
0
        public override void ProcessChangeBatch(ConflictResolutionPolicy resolutionPolicy, ChangeBatch sourceChanges, object changeDataRetriever, SyncCallbacks syncCallbacks, SyncSessionStatistics sessionStatistics)
        {
            ItemsChangeInfo localVersions = null;

            try {
                localVersions = Proxy.GetChanges(Path, sourceChanges, _filters);
            }
            catch (Exception ex) {
                throw ex;
            }

            // Now we call the change applier
            // The change applier will compare the local and remote versions, apply
            // non-conflicting changes, and will also detect conflicts and react as specified
            ForgottenKnowledge = new ForgottenKnowledge(IdFormats, SyncKnowledge);
            NotifyingChangeApplier changeApplier = new NotifyingChangeApplier(IdFormats);

            changeApplier.ApplyChanges(resolutionPolicy, sourceChanges, changeDataRetriever as IChangeDataRetriever, RemoteSyncDetails.GenerateChanges(localVersions),
                                       SyncKnowledge.Clone(), ForgottenKnowledge, this, SyncSessionContext, syncCallbacks);
        }
예제 #4
0
 public override void GetSyncBatchParameters(out uint batchSize, out SyncKnowledge knowledge)
 {
     batchSize = RequestedBatchSize;
     myKnowledge = sync.SyncKnowledge;
     knowledge = myKnowledge.Clone();
 }