diff options
Diffstat (limited to 'docs/cloud9.md')
| -rw-r--r-- | docs/cloud9.md | 11 |
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. |
