0.4
CHANGES:
New features:
-
Add
Uring.read
andUring.write
(@haesbaert #62).
These are simple wrappers for read(2) and write(2). -
Add
Uring.unlink
(@talex5 #65).
This uses unlinkat(2), and so can also be used to remove directories. -
Add support for uring probes (@talex5 #70).
Allows checking whether a feature is supported by the kernel at runtime. -
Rename
peek
toget_cqe_nonblocking
(@talex5 #67).
The old name was confusing because it does remove the item from the ring. -
Add
Uring.active_ops
(@talex5 #68).
Avoids needing to track the value returned bysubmit
, which is important as it is sometimes called automatically. -
Add
Uring.get_debug_stats
(@talex5 #64).
This should make it easier to check that the uring is behaving as expected.
Performance:
-
Introduce a Sketch buffer per Uring (@haesbaert #63).
The main motivation of this change is to avoid having one malloc per packet in readv(2), writev(2) and friends. -
Use
submit_and_wait
where appropriate (@haesbaert #69). -
Avoid unnecessary use of
CAMLparam
in the C stubs (@haesbaert #61).
Bug fixes:
Build changes: