- fill
void fill(SubmissionEntry entry, E op)
Uses custom operation definition to fill fields of SubmissionEntry.
Can be used in cases, when builtin prep* functions aren't enough.
- prepAccept
void prepAccept(SubmissionEntry entry, int fd, ADDR addr, socklen_t addrlen, AcceptFlags flags)
Prepares accept4(2) operation.
- prepCancel
void prepCancel(SubmissionEntry entry, D userData, uint flags)
Prepares operation that cancels existing async work.
- prepClose
void prepClose(SubmissionEntry entry, int fd)
Note: Available from Linux 5.6
- prepConnect
void prepConnect(SubmissionEntry entry, int fd, const(ADDR) addr)
Note: Available from Linux 5.5
- prepEpollCtl
void prepEpollCtl(SubmissionEntry entry, int epfd, int fd, int op, epoll_event ev)
Note: Available from Linux 5.6
- prepFadvise
void prepFadvise(SubmissionEntry entry, int fd, long offset, uint len, int advice)
Note: Available from Linux 5.6
- prepFallocate
void prepFallocate(SubmissionEntry entry, int fd, int mode, long offset, long len)
Note: Available from Linux 5.6
- prepFilesUpdate
void prepFilesUpdate(SubmissionEntry entry, int[] fds, int offset)
Note: Available from Linux 5.6
- prepFsync
void prepFsync(SubmissionEntry entry, int fd, FsyncFlags flags)
Prepares fsync operation.
- prepLinkTimeout
void prepLinkTimeout(SubmissionEntry entry, KernelTimespec time, TimeoutFlags flags)
Prepares linked timeout operation.
- prepMadvise
void prepMadvise(SubmissionEntry entry, const(ubyte)[] block, int advice)
Note: Available from Linux 5.6
- prepNop
void prepNop(SubmissionEntry entry)
- prepOpenat
void prepOpenat(SubmissionEntry entry, int fd, char* path, int flags, uint mode)
Note: Available from Linux 5.6
- prepOpenat2
void prepOpenat2(SubmissionEntry entry, int fd, char* path, OpenHow how)
Note: Available from Linux 5.6
- prepPollAdd
void prepPollAdd(SubmissionEntry entry, int fd, PollEvents events)
Poll the fd specified in the submission queue entry for the events specified in the poll_events
field. Unlike poll or epoll without EPOLLONESHOT, this interface always works in one shot mode.
That is, once the poll operation is completed, it will have to be resubmitted.
- prepPollRemove
void prepPollRemove(SubmissionEntry entry, D userData)
Remove an existing poll request. If found, the res field of the CompletionEntry will contain
0. If not found, res will contain -ENOENT.
- prepProvideBuffers
void prepProvideBuffers(SubmissionEntry entry, ubyte[] buf, int nr, ushort bgid, int bid)
Note: Available from Linux 5.7
- prepRead
void prepRead(SubmissionEntry entry, int fd, ubyte[] buffer, long offset)
Note: Available from Linux 5.6
- prepReadFixed
void prepReadFixed(SubmissionEntry entry, int fd, long offset, ubyte[] buffer, ushort bufferIndex)
Prepares read_fixed operation.
- prepReadv
void prepReadv(SubmissionEntry entry, int fd, V buffer, long offset)
Prepares readv operation.
- prepRecv
void prepRecv(SubmissionEntry entry, int sockfd, ubyte[] buf, MsgFlags flags)
Note: Available from Linux 5.6
- prepRecvMsg
void prepRecvMsg(SubmissionEntry entry, int fd, msghdr msg, MsgFlags flags)
Prepares recvmsg(2) operation.
- prepRemoveBuffers
void prepRemoveBuffers(SubmissionEntry entry, int nr, ushort bgid)
Note: Available from Linux 5.7
- prepSend
void prepSend(SubmissionEntry entry, int sockfd, const(ubyte)[] buf, MsgFlags flags)
Note: Available from Linux 5.6
- prepSendMsg
void prepSendMsg(SubmissionEntry entry, int fd, msghdr msg, MsgFlags flags)
Prepares sendmsg(2) operation.
- prepSplice
void prepSplice(SubmissionEntry entry, int fd_in, ulong off_in, int fd_out, ulong off_out, uint nbytes, uint splice_flags)
Note: Available from Linux 5.7
- prepStatx
void prepStatx(SubmissionEntry entry, int fd, char* path, int flags, uint mask, Statx statxbuf)
Note: Available from Linux 5.6
- prepSyncFileRange
void prepSyncFileRange(SubmissionEntry entry, int fd, ulong offset, uint len, SyncFileRangeFlags flags)
Prepares sync_file_range(2) operation.
- prepTee
void prepTee(SubmissionEntry entry, int fd_in, int fd_out, uint nbytes, uint flags)
Note: Available from Linux 5.8
- prepTimeout
void prepTimeout(SubmissionEntry entry, KernelTimespec time, ulong count, TimeoutFlags flags)
This command will register a timeout operation.
- prepTimeoutRemove
void prepTimeoutRemove(SubmissionEntry entry, D userData)
Prepares operations to remove existing timeout registered using TIMEOUToperation.
- prepWrite
void prepWrite(SubmissionEntry entry, int fd, const(ubyte)[] buffer, long offset)
Note: Available from Linux 5.6
- prepWriteFixed
void prepWriteFixed(SubmissionEntry entry, int fd, long offset, ubyte[] buffer, ushort bufferIndex)
Prepares write_fixed operation.
- prepWritev
void prepWritev(SubmissionEntry entry, int fd, V buffer, long offset)
Prepares writev operation.
- setUserData
void setUserData(SubmissionEntry entry, D data)
Template function to help set SubmissionEntry user_data field.
- setup
int setup(Uring uring, uint entries, SetupFlags flags)
Setup new instance of io_uring into provided Uring structure.
Simple idiomatic dlang wrapper around linux io_uring (see: https://kernel.dk/io_uring.pdf) asynchronous API.