public static DependencyInfo Read(BinaryArchiveReader Reader) { long LastWriteTimeUtc = Reader.ReadLong(); List <FileItem> Files = Reader.ReadList(() => Reader.ReadCompactFileItem()); return(new DependencyInfo(LastWriteTimeUtc, Files)); }
/// <summary> /// Reads data for this dependency cache from disk /// </summary> private void Read() { try { using (BinaryArchiveReader Reader = new BinaryArchiveReader(Location)) { int Version = Reader.ReadInt(); if (Version != CurrentVersion) { Log.TraceLog("Unable to read dependency cache from {0}; version {1} vs current {2}", Location, Version, CurrentVersion); return; } int FileToFirstIncludeCount = Reader.ReadInt(); for (int Idx = 0; Idx < FileToFirstIncludeCount; Idx++) { FileItem File = Reader.ReadCompactFileItem(); IncludeInfo IncludeInfo = new IncludeInfo(); IncludeInfo.LastWriteTimeUtc = Reader.ReadLong(); IncludeInfo.IncludeText = Reader.ReadString(); FileToIncludeInfo[File] = IncludeInfo; } int FileToMarkupFlagCount = Reader.ReadInt(); for (int Idx = 0; Idx < FileToMarkupFlagCount; Idx++) { FileItem File = Reader.ReadCompactFileItem(); ReflectionInfo ReflectionInfo = new ReflectionInfo(); ReflectionInfo.LastWriteTimeUtc = Reader.ReadLong(); ReflectionInfo.bContainsMarkup = Reader.ReadBool(); FileToReflectionInfo[File] = ReflectionInfo; } } } catch (Exception Ex) { Log.TraceWarning("Unable to read {0}. See log for additional information.", Location); Log.TraceLog("{0}", ExceptionUtils.FormatExceptionDetails(Ex)); } }