summaryrefslogtreecommitdiff
path: root/docs/cloud9.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-20 02:34:12 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commitfd50bd971d6dea7eaaa4ee5436ba16b95fa25b30 (patch)
tree5c57378525ea774fee7dc3a698a3d4fd9011712b /docs/cloud9.md
parent2ce8956c8e9843eba7407ab12593871ee451b991 (diff)
downloadpardes-fd50bd971d6dea7eaaa4ee5436ba16b95fa25b30.tar.gz
pardes-fd50bd971d6dea7eaaa4ee5436ba16b95fa25b30.zip
Serve Unix and TCP 9P through cloud9.serve's std.Io runner
The hand-written poll loop for Unix/TCP listeners is replaced by cloud9.serve.Runner; requests are queued to the editor thread, which answers them under the connection lock on each frame and retries parked reads as before. QUIC keeps the poll path (its adapter is fd based). The detached server no longer loses a wake that lands between frames. The firmware path keeps driving the engine with push/step. cloud9 re-pinned. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'docs/cloud9.md')
-rw-r--r--docs/cloud9.md11
1 files changed, 9 insertions, 2 deletions
diff --git a/docs/cloud9.md b/docs/cloud9.md
index d31d2cb3..d5acc37c 100644
--- a/docs/cloud9.md
+++ b/docs/cloud9.md
@@ -13,8 +13,15 @@ The file-server engine (fids, jobs, parking, flush, hangup) is cloud9's
editor's reply payload locator). `src/9p.zig` names the editor's and the
board's `fs.Options` and re-exports the wire names the transports use.
Mounting, Unix namespace discovery and permissions, the editor event loop,
-connection limits, and exported tree policy remain here. `src/9p_quic.zig`
-selects the existing `pardes-9p` ALPN for cloud9's optional OpenSSL transport.
+connection limits, and exported tree policy remain here. The 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, four slots); its handler
+queues every backend request for the editor's thread, which answers them all
+in `Listener.tick` after each editor update, retries parked reads there, and
+has the runner ship the replies. `src/9p_quic.zig` selects the existing
+`pardes-9p` ALPN for cloud9's optional OpenSSL transport; QUIC still runs on
+the poll loop in `src/9p_io.zig`, since cloud9's QUIC adapter is
+nonblocking-descriptor based rather than `std.Io` based.
The standalone protocol/GPIO tests import the same module. The separate
`05-zig-p4` build also supplies cloud9 for the GPIO firmware entry.