summaryrefslogtreecommitdiff
path: root/docs/cloud9.md
blob: db547afc32e56a2ec203bb148506a92116b31ab6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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.