Modifications:
- added
next()
as a method to return reference to newSubmissionEntry
- added
submitAndWait
to optimize out some unnecessary branches - added
flush
that just adjusts index visible by kernel (useable when kernel itself is polling the queue) - update to latest Linux kernel 5.15 changes including helper functions to setup operations
- changed methods to work with provided buffers (5.7)
- switch to github actions
- some additional small fixes and tweaks
- removed static assert for unsupported platform using just
version (linux)
to hide the implementation for them - changed prep methods to allow new chain syntax:
io.next
.prepRecv(ctx.fd, grid, len)
.setUserDataRaw(someData)
.flags |= SubmissionEntryFlags.BUFFER_SELECT;
- added
probe
methods (static and directly onUring
instance) to check what operations kernel actually supports (available from 5.6)
auto prob = probe(); // creates temporary uring instance
assert(prob);
assert(prob.error == 0);
assert(prob.isSupported(Operation.RECV));
Fixes:
- fixed enum member name to be on par with the others
- some minor fixes