예제 #1
0
 private async Task <CasHash> HashStreamToFileAsync(Stream filestream, string filename)
 {
     using (var output = await m_cache.ContendedOpenStreamAsync(filename, FileMode.Create, FileAccess.Write, FileShare.None, handlePendingDelete: false))
     {
         using (var hasher = ContentHashingUtilities.HashInfo.CreateContentHasher())
         {
             using (var hashingStream = hasher.CreateReadHashingStream(filestream))
             {
                 hashingStream.CopyTo(output);
                 return(new CasHash(hashingStream.GetContentHash()));
             }
         }
     }
 }