History | View | Annotate | Download (12.5 kB)
Changes to speed up processing a large number of of newly added files:- File events are queued for asynchronous processing instead of raising tasks.- Hashes for multiple files are calculated in parallel if there are more than 20 files that need hashing
Added cloning of HttpRequestMessage to allow retries using the messages themselvesVarious async modifications to overcome blocking during network faults
Removed commented code
Various storage and progress changes
Removed MD5 Calculations for Old and New FileStateChange DB Scheme (on create, update)removed the md5 hash creation on merkle hash.Removed all MD5BlockCalculator.cs functions
DB NEEDS TO BE REMOVED before updating the client. <<< "Hint update Inno"
Signed-off-by: George Pantazis <gpant@noc.grnet.gr>
Replaced .NET hashing with OpenSSL
Changed ETag calculation to SHA256ETag not posted on directory uploads, to avoid 422 errorsEtag posted in other cases, even if the server ignores itMerkle block hashes are now stored in the databaseHash calculations first check the state database for existing valid hashes, to avoid recalculating the Merkle hash for unchanged files
Changes to hash calculation.SyncSingleItem not yet tested
Added cancellation to hashing
Added check for missing parents on shared folders, disabled for now
Reduced buffer size while hashing to 16K
Added checks for hashing of cache filesModified StoreInfoDirect to avoid multiple checks when trying to update or insert
Modified TreeHash calculations to compute MD5 in parallel with SHA block hashing
Added check for last MD5 modification, to avoid redundant recalculation of MD5
Restored batchingNow handling renames in batchingFixed blocking issues
Change to Polling agent
Fixes to hashingFixes to selective sync
Added WebExtensions.cs with methods for logging request and response contentsModified the maximum error response size for HttpWebRequest
Replaced hashing algorithm with inplace version
Logging improvements
Added header to all files. Closes #2064
Simplified proxy management code
Added SnapshotDifferencer.cs to calculate the difference between the current and previous listings of the server filesChanged hashing to use an ActionBlock with parallelism options.Added parallelism property in Preferences
Simplified several functions by replacing task continuations with async/await
Added Async CTP
Added log4net for client profileRefactored to allow retrieval of shared objects
Multiple changes to enable delete detection, safer uploading
Added BlockUpdater.cs to perform block updates in a separate class. Will include TxF in a future versionSimplified agent loop code
Uploading and downloading with hashes
Synch fixes
Parallelized hash calculations
Fixed ceiling calculation
Added treehash calculation