lib/choir/src/backends/artifact/serialization/format.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 const binary = @import("../../../serialization/root.zig").binary;
2
3 pub const magic = "CHOIRART";
4 pub const version: u32 = 2;
5 pub const max_serialized_bytes: usize = 256 * 1024 * 1024;
6 pub const max_string_bytes: usize = 1024 * 1024;
7 pub const max_blob_bytes: usize = 64 * 1024 * 1024;
8 pub const max_collection_entries: usize = 1 << 16;
9 pub const max_total_entries: usize = 1 << 18;
10
11 pub const limits = binary.Limits{
12 .serialized_bytes = max_serialized_bytes,
13 .string_bytes = max_string_bytes,
14 .blob_bytes = max_blob_bytes,
15 .collection_entries = max_collection_entries,
16 .total_entries = max_total_entries,
17 };
18
19 pub const Error = binary.Error || error{
20 InvalidMagic,
21 UnsupportedVersion,
22 TrailingBytes,
23 };
24
25 pub const WriteError = binary.WriteError;
26 pub const Writer = binary.Writer(limits);
27 pub const Reader = binary.Reader(limits);