diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-05-30 12:53:53 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2024-05-31 04:06:12 -0400 |
| commit | c564a16a01811c18113fe304dbc3e8255af9f172 (patch) | |
| tree | 79779ef0cdb54747ff5eb1fc256b77d227a607cf /lib/std/priority_dequeue.zig | |
| parent | 30a35a897f2220d1b252d211c389cf0319170a94 (diff) | |
| download | zig-c564a16a01811c18113fe304dbc3e8255af9f172.tar.gz zig-c564a16a01811c18113fe304dbc3e8255af9f172.zip | |
std.Progress: IPC fixes
Reduce node_storage_buffer_len from 200 to 83. This makes messages over
the pipe fit in a single packet (4096 bytes). There is now a comptime
assert to ensure this. In practice this is plenty of storage because
typical terminal heights are significantly less than 83 rows.
Handling of split reads is fixed; instead of using a global
`remaining_read_trash_bytes`, the value is stored in the "saved
metadata" for the IPC node.
Saved metadata is split into two arrays so that the "find" operation can
quickly scan over fds for a match, looking at 332 bytes maximum, and
only reading the memory for the other data upon match. More typical
number of bytes read for this operation would be 0 (no child processes),
4 (1 child process), or 64 (16 child processes reporting progress).
Removed an align(4) that was leftover from an older design.
This also includes part of Jacob Young's not-yet-landed patch that
implements `writevNonblock`.
Diffstat (limited to 'lib/std/priority_dequeue.zig')
0 files changed, 0 insertions, 0 deletions
