std.Io: expose Kqueue and IoUring directly

This commit is contained in:
Andrew Kelley 2026-01-07 15:52:34 -08:00
parent cbd75b484f
commit c0092f5394

View file

@ -540,18 +540,20 @@ test {
const Io = @This();
pub const Threaded = @import("Io/Threaded.zig");
pub const Evented = switch (builtin.os.tag) {
.linux => switch (builtin.cpu.arch) {
.x86_64, .aarch64 => @import("Io/IoUring.zig"),
.x86_64, .aarch64 => IoUring,
else => void, // context-switching code not implemented yet
},
.dragonfly, .freebsd, .netbsd, .openbsd, .driverkit, .ios, .maccatalyst, .macos, .tvos, .visionos, .watchos => switch (builtin.cpu.arch) {
.x86_64, .aarch64 => @import("Io/Kqueue.zig"),
.x86_64, .aarch64 => Kqueue,
else => void, // context-switching code not implemented yet
},
else => void,
};
pub const Threaded = @import("Io/Threaded.zig");
pub const Kqueue = @import("Io/Kqueue.zig");
pub const IoUring = @import("Io/IoUring.zig");
pub const net = @import("Io/net.zig");
userdata: ?*anyopaque,