diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-30 14:03:40 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:17 -0300 |
| commit | a7d5422132d3b1ae00948e53314747814bb5814d (patch) | |
| tree | 9d044f82722f029bce920282c198054abc4a01bf | |
| parent | b43866d6ab784e518df8dbef374147367358ada9 (diff) | |
| download | pardes-a7d5422132d3b1ae00948e53314747814bb5814d.tar.gz pardes-a7d5422132d3b1ae00948e53314747814bb5814d.zip | |
fs.md gives the msize as 64 KiB, documents the Newcol refusal for tags that would not fit, and says how 16 columns is really reached
The docs said msize 8192, but the editor has offered 65536 since the bulk
write work. They also told a reader to reach 16 columns without saying it
needs a 160-cell window, or that Newcol halves the column it is run from.
The "the panes' tags would not fit" refusal was not documented at all.
The column paragraph now says all three, and that a refused Newcol logs
its err alone. docs/cloud9.md's options line gives the current numbers.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
| -rw-r--r-- | docs/cloud9.md | 2 | ||||
| -rw-r--r-- | docs/fs.md | 16 |
2 files changed, 12 insertions, 6 deletions
diff --git a/docs/cloud9.md b/docs/cloud9.md index cd92fd05..f993750f 100644 --- a/docs/cloud9.md +++ b/docs/cloud9.md @@ -9,7 +9,7 @@ use `.cloud9 = .{ .path = "../cloud9" }` while editing both. - The engine (fids, jobs, parking, flush, hangup) is cloud9's `fs.Server`; the control tree in `src/ninep/` is its backend. `src/9p.zig` names the - editor's and the board's `fs.Options` (msize 8192, 256 fids). + editor's and the board's `fs.Options` (the editor's: msize 65536, 256 fids, 128 held reads a connection). - Unix and TCP listeners run on cloud9's `serve.Runner` (`std.Io`: an accept task per listener, a reader and a writer task per connection, 16 connections). Requests are answered on the connection's task, which takes @@ -153,7 +153,8 @@ column's `exec` take one command a line. The whole write is checked first (a control character other than a tab fails it all, EINVAL); then lines run in order, and a failing line fails the write after the lines before it took effect, as acme's ctl does. Blank lines are skipped. A mount cuts a big -write into pieces of at most one message (msize 8192, less the header), and +write into pieces of at most one message (msize 64 KiB, 65536 negotiated, +less the header), and each line runs once it is whole. A write that does not fill its message is whole, so its last line runs even without a newline (`printf Save > exec`). An `Edit` whose `{` or `a`/`c`/`i` text is still open waits for the next write on that open, and @@ -322,9 +323,14 @@ none). `current` is the column with the keyboard now, which may differ from the active one. `/index`'s last field is each pane's column serial. A session holds 16 columns (`no space for a column: 16 max`, ENOSPC), each at -least 10 cells wide (`Newcol` from a column under 20 fails `this one is too -narrow to split`). Since root `Newcol` halves the active column, reach 16 by -writing `Newcol` to the widest column's `exec`. +least 10 cells wide, so 16 wants a window 160 cells wide or more. `Newcol` +halves the column it is run from, and one under 20 cells does not split +(`this one is too narrow to split`): reach 16 by writing `Newcol` to the +widest column's `exec` each time, not to the root's, which keeps halving the +one just made. `Newcol` is refused as well when a narrower column would +wrap its panes' tags onto more rows and leave one under its tag and two +rows (`Newcol: no space for a column: the panes' tags would not fit`); a +refused `Newcol` logs its `err` alone and uses up no column serial. `/col/<n>/ctl` takes `Delcol`, `Joincol`, `New` and `Tty` for that column; `/col/<n>/exec` is a click in its tag; `rmdir /col/<n>` closes an empty column @@ -664,7 +670,7 @@ become spaces. | panes | 64 (16 on the board) | | columns | 16 (6 on the board), each at least 10 cells wide | | rows a pane keeps | its tag and 2 | -| msize | 8192 offered | +| msize | 65536 (64 KiB) offered | | connections | 16 Unix+TCP, 16 QUIC | | opens holding state | 64 | | named mounts | 8 | |
