From 95681ff7017b8a9e4c8f9fa6a7371d1233432f2f Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Mon, 14 Sep 2026 13:55:41 -0300 Subject: 9p: use cloud9 protocol sessions and transports --- docs/cloud9.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/cloud9.md (limited to 'docs/cloud9.md') diff --git a/docs/cloud9.md b/docs/cloud9.md new file mode 100644 index 00000000..db547afc --- /dev/null +++ b/docs/cloud9.md @@ -0,0 +1,22 @@ +# cloud9 integration + +The sibling `../cloud9` package owns the base 9P2000 wire format, client and server +connections, and TCP/Unix/QUIC transports. `build.zig.zon` uses the local package +path so both checkouts can be developed together. + +`src/9p.zig` remains the adapter between cloud9 requests and Pardes filesystem +operations. 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. +The snapshot client and standalone protocol/GPIO tests import the same module. +The separate `05-zig-p4` build also supplies cloud9 for the GPIO firmware entry. + +Run `zig build 9p-test` for the filesystem adapter and +`zig build 9p-io-test -Dquic=true` for native transport/client integration. Run cloud9's `zig build test`, +`transport-test`, `quic-test -Dquic=true`, `fuzz`, and `differential` steps for the +shared implementation. See cloud9's `docs/validation.md` for recorded runs and +known test-environment limits. + +Invalid framing now terminates a server connection. Cloud9 also checks reply +counts and reserves tags until flush completion. Client metadata is slightly +larger to track those reservations, and its bounds tests reflect that fixed cost. -- cgit v1.3