Class CecalManifest
Sidecar manifest written next to a .cecal archive. Records per-asset
(size, mtime, hash) so the next pack can skip rehashing unchanged files and
determine whether the archive itself needs to be rewritten.
public sealed record CecalManifest : IEquatable<CecalManifest>
- Inheritance
-
CecalManifest
- Implements
- Inherited Members
Remarks
Manifest format is not part of the .cecal binary format — it's a local
build cache. Its schema can evolve freely; readers should tolerate a missing or
version-mismatched manifest by rehashing from scratch.
Constructors
CecalManifest(string, UInt128, Dictionary<string, ManifestEntry>)
Sidecar manifest written next to a .cecal archive. Records per-asset
(size, mtime, hash) so the next pack can skip rehashing unchanged files and
determine whether the archive itself needs to be rewritten.
public CecalManifest(string Version, UInt128 ArchiveHash, Dictionary<string, ManifestEntry> Entries)
Parameters
VersionstringArchiveHashUInt128EntriesDictionary<string, ManifestEntry>
Remarks
Manifest format is not part of the .cecal binary format — it's a local
build cache. Its schema can evolve freely; readers should tolerate a missing or
version-mismatched manifest by rehashing from scratch.
Fields
CurrentVersion
public const string CurrentVersion = "1"
Field Value
Properties
ArchiveHash
[JsonConverter(typeof(UInt128JsonConverter))]
public UInt128 ArchiveHash { get; init; }
Property Value
Entries
public Dictionary<string, ManifestEntry> Entries { get; init; }
Property Value
Version
public string Version { get; init; }
Property Value
Methods
Empty()
public static CecalManifest Empty()
Returns
Save(string)
public void Save(string manifestPath)
Parameters
manifestPathstring
TryLoad(string)
public static CecalManifest? TryLoad(string manifestPath)
Parameters
manifestPathstring