public static class BundleFormatThe layout of a .bundle, shared by the reader and the writer.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
A header, an index sorted by ObjectId, and one contiguous payload region. Sorted so that a lookup is a binary search over sixteen-byte keys with no allocation and no dictionary to build at load time — a bundle can be opened, one chunk read out of two thousand, and closed, without touching the other one thousand nine hundred and ninety-nine.
The CRC covers the payload region only, and checking it is the caller's choice. Verifying a two-hundred-megabyte bundle on every open costs a full read of a file whose whole point is that it is read lazily; docs/plan/08 puts the check on cached and remote content, where the bytes arrived over a network, and not on content that shipped inside the application package.
Fields and properties (4)
public static ReadOnlySpan<byte> MagicThe eight bytes a bundle starts with.
public const int VersionThe layout version.
public const int HeaderSizeBytes before the index.
public const int EntrySizeBytes per index entry: the id, then a 32-bit offset and length.
Used by (2)
- BundleOdbBackendVixen.Core.Serialization
- BundleWriterVixen.Core.Serialization