Skip to documentation
SLOP

tiny.choir.backends.artifact.serialization.payload

Reference tiny.choir backends artifact serialization payload

Defined in backends.artifact.serialization.

API (2)

Actions

Public operations.

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

Source

Called byCallsNo direct callsbackends.artifact.serializationdeserializebackends.artifact.serialization.payloadreadInto
Static calls · unresolved targets: 0 · external targets: 8.
Called byCallsNo direct callsbackends.artifact.serializationserializebackends.artifact.serialization.payloadwrite
Static calls · unresolved targets: 0 · external targets: 5.

Source: lib/choir/src/backends/artifact/serialization/payload.zig

zig
const std = @import("std");const artifact = @import("../root.zig");const format = @import("root.zig").format;pub fn write(writer: *format.Writer, value: artifact.Payload) format.WriteError!void {    try writer.writeCount(value.debug_records.items.len);    for (value.debug_records.items) |record| {        try writer.writeString(record.name);        try writer.writeTag(record.kind);        try writer.writeBlob(record.bytes);    }    try writer.writeCount(value.buffers.items.len);    for (value.buffers.items) |buffer| {        try writer.writeString(buffer.name);        try writer.writeTag(buffer.format);        try writer.writeBlob(buffer.bytes);        const alignment = std.math.cast(u64, buffer.alignment) orelse return error.LimitExceeded;        try writer.writeInt(u64, alignment);    }    try writer.writeCount(value.text_dumps.items.len);    for (value.text_dumps.items) |dump| {        try writer.writeString(dump.name);        try writer.writeBlob(dump.contents);    }}pub fn readInto(reader: *format.Reader, value: *artifact.Payload) (format.Error || std.mem.Allocator.Error)!void {    const debug_count = try reader.readCount();    for (0..debug_count) |_| {        try value.addDebugRecord(.{            .name = try reader.readString(),            .kind = try reader.readTag(artifact.DebugRecordKind),            .bytes = try reader.readBlob(),        });    }    const buffer_count = try reader.readCount();    for (0..buffer_count) |_| {        const name = try reader.readString();        const buffer_format = try reader.readTag(artifact.BufferFormat);        const bytes = try reader.readBlob();        const alignment = std.math.cast(usize, try reader.readInt(u64)) orelse return error.LimitExceeded;        try value.addBuffer(.{            .name = name,            .format = buffer_format,            .bytes = bytes,            .alignment = alignment,        });    }    const text_count = try reader.readCount();    for (0..text_count) |_| {        try value.addTextDump(.{            .name = try reader.readString(),            .contents = try reader.readBlob(),        });    }}

Source: lib/choir/src/backends/artifact/serialization/root.zig:8

zig
pub const payload = @import("payload.zig");

Audit

Definitions3
Public names3
Members0
Version26.7.0
Revisiondaab053ee433