From 65209217b5b68f56bc0bd5bc6c4dce33911ded59 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Sun, 20 Sep 2026 00:58:22 -0300 Subject: Add the file-server engine: cloud9.fs.Server(Backend, Options) The asynchronous 9P file-server engine from the Pardes editor moves into the library: fid table, walks, directory cursors, a job/slot model where backend replies arrive later by tag (status again = parked), Tflush cancellation and orphaned fids on hangup. Allocation-free, no OS calls, no std.Io; comptime Options (fid, slot, park data, name and user capacities) replace the editor's constants. Backend contract types (Req, Reply/ReplyWith, Op, Status, Attr, E, error strings) live here. 29 engine tests plus the client tests that sat beside it in Pardes. Co-Authored-By: Claude Fable 5.1 --- src/root.zig | 1 + 1 file changed, 1 insertion(+) (limited to 'src/root.zig') diff --git a/src/root.zig b/src/root.zig index dadeb6d..d37804b 100644 --- a/src/root.zig +++ b/src/root.zig @@ -36,6 +36,7 @@ pub const Client = @import("client.zig").Client; pub const ClientError = @import("client.zig").ClientError; pub const max_tags = @import("client.zig").max_tags; pub const Server = @import("Server.zig"); +pub const fs = @import("fs.zig"); pub const oread: u8 = 0; pub const owrite: u8 = 1; pub const ordwr: u8 = 2; -- cgit v1.3