zig/lib/std / zig/Client.zig

Message

Size of the body only; does not include this Header.

pub const Message = struct {

Header

Tells the compiler to shut down cleanly. No body.

    pub const Header = extern struct {
        tag: Tag,
        /// Size of the body only; does not include this Header.
        bytes_len: u32,
    };

Tag

Tells the compiler to detect changes in source files and update the affected output compilation artifacts. If one of the compilation artifacts is an executable that is running as a child process, the compiler will wait for it to exit before performing the update. No body.


    pub const Tag = enum(u32) {
        /// Tells the compiler to shut down cleanly.
        /// No body.
        exit,
        /// Tells the compiler to detect changes in source files and update the
        /// affected output compilation artifacts.
        /// If one of the compilation artifacts is an executable that is
        /// running as a child process, the compiler will wait for it to exit
        /// before performing the update.
        /// No body.
        update,
        /// Tells the compiler to execute the executable as a child process.
        /// No body.
        run,
        /// Tells the compiler to detect changes in source files and update the
        /// affected output compilation artifacts.
        /// If one of the compilation artifacts is an executable that is
        /// running as a child process, the compiler will perform a hot code
        /// swap.
        /// No body.
        hot_update,
        /// Ask the test runner for metadata about all the unit tests that can
        /// be run. Server will respond with a `test_metadata` message.
        /// No body.
        query_test_metadata,
        /// Ask the test runner to run a particular test.
        /// The message body is a u32 test index.
        run_test,
        /// Ask the test runner to start fuzzing a particular test forever or for a given amount of time/iterations.
        /// The message body is:
        /// - a u32 test index.
        /// - a u8 test limit kind (std.Build.api.fuzz.LimitKind)
        /// - a u64 value whose meaning depends on FuzzLimitKind (either a limit amount or an instance id)
        start_fuzzing,

        _,
    };

    comptime {
        const std = @import("std");
        std.debug.assert(@sizeOf(std.Build.abi.fuzz.LimitKind) == 1);
    }
};