Replaced Merkle hash with MD5 for change checking
[pithos-ms-client] / trunk / Pithos.Core / Agents / NetworkAgent.cs
index ece050a..47e0ddc 100644 (file)
@@ -63,7 +63,7 @@ namespace Pithos.Core.Agents
     {
         private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 
-        private Agent<CloudAction> _agent;
+        //private Agent<CloudAction> _agent;
 
         [System.ComponentModel.Composition.Import]
         public DeleteAgent DeleteAgent { get; set; }
@@ -121,7 +121,6 @@ namespace Pithos.Core.Agents
         //Essentially it stops the poll agent to give priority to the network agent
         //Initially the event is signalled because we don't need to pause
         private readonly AsyncManualResetEvent _proceedEvent = new AsyncManualResetEvent(true);
-        private Agents.Selectives _selectives;
         private bool _pause;
 
         public AsyncManualResetEvent ProceedEvent
@@ -154,7 +153,7 @@ namespace Pithos.Core.Agents
             
         }
 
-        public void Start()
+        /*public void Start()
         {
             if (_agent != null)
                 return;
@@ -176,8 +175,9 @@ namespace Pithos.Core.Agents
                 loop();
             });
 
-        }
+        }*/
 
+/*
         private async Task Process(CloudAction action)
         {
             if (action == null)
@@ -262,7 +262,7 @@ namespace Pithos.Core.Agents
                         Log.WarnFormat("[REQUEUE] {0} : {1} -> {2}", action.Action, action.LocalFile, action.CloudFile);
                     }
                 }
-*/
+#1#
                 catch (OperationCanceledException ex)
                 {                    
                     Log.WarnFormat("Cancelling [{0}]",ex);
@@ -296,8 +296,9 @@ namespace Pithos.Core.Agents
                 }
             }
         }
+*/
 
-        private void ProcessChildUploads(CloudUploadAction uploadAction)
+    /*    private void ProcessChildUploads(CloudUploadAction uploadAction)
         {
             if (!uploadAction.IsCreation || !(uploadAction.LocalFile is DirectoryInfo)) 
                 return;
@@ -317,7 +318,8 @@ namespace Pithos.Core.Agents
             folderActions.ApplyAction(PostUploadAction);
             fileActions.ApplyAction(PostUploadAction);            
         }
-
+*/
+/*
         private void PostUploadAction(CloudUploadAction action)
         {
             var state = StatusKeeper.GetStateByFilePath(action.LocalFile.FullName);
@@ -332,8 +334,9 @@ namespace Pithos.Core.Agents
             action.FileState = state;
             Post(action);
         }
+*/
 
-        private CancellationToken CurrentOperationCancelToken
+        public CancellationToken CurrentOperationCancelToken
         {
             get { return _currentOperationCancellation.Token; }
         }
@@ -404,7 +407,7 @@ namespace Pithos.Core.Agents
             }            
         }
 
-        private async Task SyncFiles(AccountInfo accountInfo,CloudAction action)
+/*        private async Task SyncFiles(AccountInfo accountInfo,CloudAction action)
         {
             if (accountInfo == null)
                 throw new ArgumentNullException("accountInfo");
@@ -424,7 +427,7 @@ namespace Pithos.Core.Agents
                 var cloudFile = action.CloudFile;
                 var downloadPath = action.LocalFile.GetProperCapitalization();
 
-                var cloudHash = cloudFile.Hash.ToLower();
+                var cloudHash = cloudFile.X_Object_Hash.ToLower();
                 var previousCloudHash = cloudFile.PreviousHash == null?null: cloudFile.PreviousHash.ToLower();
                 var localHash = action.TreeHash.Value.TopHash.ToHashString();// LocalHash.Value.ToLower();
                 //var topHash = action.TopHash.Value.ToLower();
@@ -459,7 +462,7 @@ namespace Pithos.Core.Agents
                 // If the previous tophash matches the local tophash, the file was only changed on the server. 
                 if (localHash == previousCloudHash)
                 {
-                    await Downloader.DownloadCloudFile(accountInfo, cloudFile, downloadPath, CurrentOperationCancelToken);
+                    await Downloader.DownloadCloudFile(accountInfo, cloudFile, downloadPath CurrentOperationCancelToken);
                 }
                 else
                 {
@@ -468,7 +471,7 @@ namespace Pithos.Core.Agents
                     ReportConflictForMismatch(downloadPath);
                 }
             }
-        }
+        }*/
 
         private void ReportConflictForMismatch(string downloadPath)
         {
@@ -483,6 +486,7 @@ namespace Pithos.Core.Agents
             StatusNotification.NotifyChange(message, TraceLevel.Warning);
         }
 
+/*
         public void Post(CloudAction cloudAction)
         {
             if (cloudAction == null)
@@ -498,21 +502,26 @@ namespace Pithos.Core.Agents
             else
                 _agent.Post(cloudAction);
         }
+*/
        
 
+/*
         public IEnumerable<CloudAction> GetEnumerable()
         {
             return _agent.GetEnumerable();
         }
+*/
 
         public Task GetDeleteAwaiter()
         {
             return DeleteAgent.ProceedEvent.WaitAsync();
         }
+/*
         public CancellationToken CancellationToken
         {
             get { return _agent.CancellationToken; }
         }
+*/
 
         public bool Pause
         {