pub const Hello = extern struct tag: ToClientTag = .hellostatus: BuildStatusflags: Flagstimestamp: i64Any message containing a timestamp represents it as a number of nanoseconds relative to when the build began. This field is the current timestamp, represented in that form.
steps_len: u32The number of steps in the build graph which are reachable from the top-level step[s] being run; in other words, the number of steps which will be executed by this build. The name of each step trails this message.
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109pub const Hello = extern struct {
tag: ToClientTag = .hello,
status: BuildStatus,
flags: Flags,
/// Any message containing a timestamp represents it as a number of nanoseconds relative to when
/// the build began. This field is the current timestamp, represented in that form.
timestamp: i64 align(4),
/// The number of steps in the build graph which are reachable from the top-level step[s] being
/// run; in other words, the number of steps which will be executed by this build. The name of
/// each step trails this message.
steps_len: u32 align(1),
pub const Flags = packed struct(u16) {
/// Whether time reporting is enabled.
time_report: bool,
_: u15 = 0,
};
}
WebSocket server->client.
Sent by the server as the first message after a WebSocket connection opens to provide basic information about the server, the build graph, etc.
Trailing:
step_name_len: u32for eachsteps_lenstep_name: [step_name_len]u8for eachstep_name_lenstep_status: u8for every 4steps_len; every 2 bits is aStepUpdate.Status, LSBs first