Source/NFX.Wave/PortalHub.cs
/// <summary>
/// Generates file version path segment suitable for usage in file name.
/// This method is slow as it does byte file sig calculation
/// </summary>
Generates file version path segment suitable for usage in file name.
This method is slow as it does byte file sig calculation
Generates file version path segment suitable for usage in file name . This method is slow as it does byte file sig calculation
public string GenerateContentFileVersionSegment(string filePath)
    {
       if (m_ContentFS==null) return null;
       if (m_ContentFSConnect==null) return null;
       if (filePath.IsNullOrWhiteSpace()) return null;
       using(var session = m_ContentFS.StartSession(m_ContentFSConnect))
       {
         var buf = new byte[8*1024];
         var fName = m_ContentFS.CombinePaths(m_ContentFSRootPath, filePath);
         var fsFile = session[fName] as FileSystemFile;
         if (fsFile==null) return null;
         long sz = 0;
         var csum = new NFX.IO.ErrorHandling.Adler32();
         using(var stream = fsFile.FileStream)
         while(true)
         {
           var got = stream.Read(buf, 0, buf.Length);
           if (got<=0) break;
           sz += got;
           csum.Add(buf, 0, got);
         }
         var data = (ulong)sz << 32 | (ulong)csum.Value;
         return data.ToString("X").ToLowerInvariant();
       }
    }
public string GenerateContentFileVersionSegment ( string filePath ) { if ( m_ContentFS == null ) return null ; if ( m_ContentFSConnect == null ) return null ; if ( filePath . IsNullOrWhiteSpace ( ) ) return null ; using ( var session = m_ContentFS . StartSession ( m_ContentFSConnect ) ) { var buf = new byte [ 8 * 1024 ] ; var fName = m_ContentFS . CombinePaths ( m_ContentFSRootPath , filePath ) ; var fsFile = session [ fName ] as FileSystemFile ; if ( fsFile == null ) return null ; long sz = 0 ; var csum = new NFX . IO . ErrorHandling . Adler32 ( ) ; using ( var stream = fsFile . FileStream ) while ( true ) { var got = stream . Read ( buf , 0 , buf . Length ) ; if ( got <= 0 ) break ; sz += got ; csum . Add ( buf , 0 , got ) ; } var data = ( ulong ) sz << 32 | ( ulong ) csum . Value ; return data . ToString ( " " ) . ToLowerInvariant ( ) ; } }
Generates file version path segment suitable for usage in file name.
Generates file version path segment suitable for usage in file name .
filePath
string