Skip to documentation
SLOP

tiny.choir.backends.artifact.serialization

Reference 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.

No direct callersNo direct callsbackends.artifactserialization
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Called byCallsNo direct callersbackends.artifact.Artifactdeinitbackends.artifact.Artifactinitbackends.artifact.serialization.linkagereadIntobackends.artifact.serialization.metadatareadbackends.artifact.serialization.optionreadInto+2 morebackends.artifact.serializationdeserialize
Static calls · unresolved targets: 0 · external targets: 5.
Called byCallsNo direct callersbackends.artifact.serialization.linkagewritebackends.artifact.serialization.metadatawritebackends.artifact.serialization.optionwritebackends.artifact.serialization.payloadwritebackends.artifact.serialization.verificationwritebackends.artifact.serializationserialize
Static calls · unresolved targets: 0 · external targets: 5.

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.

Audit

Definitions4
Public names4
Members0
Version26.7.0
Revisiondaab053ee433