summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-20 02:33:02 -0300
committerGabriel Schneider <[email protected]>2026-09-20 02:33:02 -0300
commitba7ec40782ba7020d82a56896a5eb1b52578d6aa (patch)
treeb6a5222d124255ae1e5d568c6ffbfe2e2050ae63 /README.md
parent66f2e492c348677ab3050f5e378b9eb4c04c98ce (diff)
downloadcloud9-ba7ec40782ba7020d82a56896a5eb1b52578d6aa.tar.gz
cloud9-ba7ec40782ba7020d82a56896a5eb1b52578d6aa.zip
Add cloud9.serve: an std.Io runner around the file-server engine
Runner(Backend, Options, Limits) listens on Unix or TCP, runs a reader and a serve task per connection in one Io.Group, pushes frames into an fs.Server, and lets the backend answer now or later from any task or thread (reply, flush, wake); Tflush, greet timeout, connection limit, close and stop with cancellation are covered by tests over real sockets. The engine and the backend contract stay Io-free, so the push/step mode for freestanding targets is unchanged. Documented as the two ways to drive the engine. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'README.md')
-rw-r--r--README.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/README.md b/README.md
index 01e35a5..04c68fa 100644
--- a/README.md
+++ b/README.md
@@ -85,6 +85,13 @@ at once or later; a read or write may park with `Status.again` and is retried.
Table sizes are comptime `fs.Options`; nothing allocates. See
[the engine's contract](docs/design.md#file-server-engine).
+On a hosted target, `serve.Runner(Backend, options, limits)` runs that engine
+on `std.Io`: `listen()` on Unix or TCP addresses, a bounded connection table,
+two tasks per connection, a handler the backend answers through `Conn.reply()`
+now or later, `Conn.wake()` to retry parked reads when the backend has news,
+and `stop()` to close and join. Freestanding targets keep the push/step loop.
+See [the Io runner](docs/design.md#io-runner).
+
## Programs
Related programs live in `cloud9/<name>/`, one directory per program beside