summaryrefslogtreecommitdiff
path: root/src/root.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-20 00:58:22 -0300
committerGabriel Schneider <[email protected]>2026-09-20 00:58:22 -0300
commit65209217b5b68f56bc0bd5bc6c4dce33911ded59 (patch)
treebe3848ef46b7a2ce1d0ad1a768b7a97d428481c4 /src/root.zig
parent3e9f8805f293f622bb885cf849b5ce47dc062ad1 (diff)
downloadcloud9-65209217b5b68f56bc0bd5bc6c4dce33911ded59.tar.gz
cloud9-65209217b5b68f56bc0bd5bc6c4dce33911ded59.zip
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 <[email protected]>
Diffstat (limited to 'src/root.zig')
-rw-r--r--src/root.zig1
1 files changed, 1 insertions, 0 deletions
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;