Skip to content

Commit

Permalink
aio: add TODOs
Browse files Browse the repository at this point in the history
  • Loading branch information
Cloudef committed Jun 26, 2024
1 parent 3e9a83a commit ca49558
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
8 changes: 8 additions & 0 deletions src/aio/IoUring.zig
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,14 @@ const Supported = struct {
}
};

// TODO: Support IOSQE_FIXED_FILE
// TODO: Support IOSQE_BUFFER_SELECT
// TODO: Support IOSQE_IO_DRAIN
// TODO: Support IOSQE_ASYNC

// Could also make io_uring based event source with `IORING_OP_MSG_RING`
// However I've read some claims that passing messages to other ring has more
// latency than actually using eventfd. Eventfd is simple and reliable.
pub const EventSource = posix.EventSource;

io: std.os.linux.IoUring,
Expand Down
5 changes: 3 additions & 2 deletions src/aio/ops.zig
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ const SharedError = error{
Unexpected,
};

// TODO: Support rest of the ops from <https://man.archlinux.org/man/io_uring_enter.2.en>
// Even linux/io_uring only ops

/// Can be used to wakeup the backend, custom notifications, etc...
pub const Nop = struct {
pub const Error = SharedError;
Expand Down Expand Up @@ -265,8 +268,6 @@ pub const SymlinkAt = struct {
userdata: usize = 0,
};

// TODO: linkat

/// std.process.Child.wait
pub const ChildExit = struct {
pub const Error = error{ NotFound, Unexpected } || SharedError;
Expand Down

0 comments on commit ca49558

Please sign in to comment.