Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › Progress › Ipc › Data › rebase Private Function rebase Doc Source Private Function std.Progress.Ipc.Data.rebase
fn rebase (
data : *Data ,
buffer : *[max_packet_len ]u8 ,
vec : *[1 ][]u8 ,
batch : *std .Io .Batch ,
slot : Slot ,
packet_end : u16 ,
) void Params File Progress.zig: 133
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151 fn rebase (
data : *Data ,
buffer : *[max_packet_len ]u8 ,
vec : *[1 ][]u8 ,
batch : *std .Io .Batch ,
slot : Slot ,
packet_end : u16 ,
) void {
assert (data .state == .ready );
const remaining = buffer [packet_end ..data .bytes_read ];
@memmove (buffer [0 ..remaining .len ], remaining );
vec .* = .{buffer [remaining .len ..]};
batch .addAt (slot , .{ .file_read_streaming = .{
.file = global_progress .ipc_files [slot ],
.data = vec ,
} });
data .state = .pending ;
data .bytes_read = @intCast (remaining .len );
}