tiny.choir.backends.artifact.serialization
Defined in backends.artifact.
API (12)
Actions
Public operations.
Types and contracts
Public types and contracts.
Namespaces
Public namespaces.
Values and defaults
Public values and defaults.
Source
Source: lib/choir/src/backends/artifact/root.zig:4
zig
pub const serialization = @import("serialization/root.zig");Source: lib/choir/src/backends/artifact/serialization/root.zig
zig
const std = @import("std");const artifact = @import("../root.zig");pub const format = @import("format.zig");pub const metadata = @import("metadata.zig");pub const option = @import("option.zig");pub const linkage = @import("linkage.zig");pub const payload = @import("payload.zig");pub const verification = @import("verification.zig");pub const magic = format.magic;pub const format_version = format.version;pub const SerializeError = format.WriteError;pub const DeserializeError = format.Error || std.mem.Allocator.Error;pub fn serialize(allocator: std.mem.Allocator, value: *const artifact.Artifact) SerializeError![]u8 { var writer = format.Writer.init(allocator); errdefer writer.deinit(); try writer.writeRaw(format.magic); try writer.writeInt(u32, format.version); try metadata.write(&writer, value.metadata); try option.write(&writer, value.options); try linkage.write(&writer, value.linkage); try payload.write(&writer, value.payload); try verification.write(&writer, value.verification); return try writer.finish();}pub fn deserialize(allocator: std.mem.Allocator, bytes: []const u8) DeserializeError!artifact.Artifact { var reader = try format.Reader.init(bytes); if (!std.mem.eql(u8, try reader.readRaw(format.magic.len), format.magic)) return error.InvalidMagic; if (try reader.readInt(u32) != format.version) return error.UnsupportedVersion; var decoded_metadata = try metadata.read(allocator, &reader); defer decoded_metadata.deinit(); var value = try artifact.Artifact.init(allocator, decoded_metadata.value); errdefer value.deinit(); try option.readInto(&reader, &value.options); try linkage.readInto(&reader, &value.linkage); try payload.readInto(&reader, &value.payload); try verification.readInto(&reader, allocator, &value.verification); if (!reader.atEnd()) return error.TrailingBytes; return value;}Complete call list for backends.artifact.serialization.deserialize
7 direct calls.
tiny.choir.backends.artifact.Artifact.deinit[method] atlib/choir/src/backends/artifact/model/artifact.zig:42tiny.choir.backends.artifact.Artifact.init[function] atlib/choir/src/backends/artifact/model/artifact.zig:14tiny.choir.backends.artifact.serialization.linkage.readInto[function] atlib/choir/src/backends/artifact/serialization/linkage.zig:22tiny.choir.backends.artifact.serialization.metadata.read[function] atlib/choir/src/backends/artifact/serialization/metadata.zig:34tiny.choir.backends.artifact.serialization.option.readInto[function] atlib/choir/src/backends/artifact/serialization/option.zig:20tiny.choir.backends.artifact.serialization.payload.readInto[function] atlib/choir/src/backends/artifact/serialization/payload.zig:27tiny.choir.backends.artifact.serialization.verification.readInto[function] atlib/choir/src/backends/artifact/serialization/verification.zig:11
Audit
| Definitions | 4 |
|---|---|
| Public names | 4 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |