package uring
  OCaml bindings for Linux io_uring
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      uring-0.6.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=665b43f499c5d6526cd318d6c055c17d630ff1ee5746109a0763f88aa1c5adea
    
    
  sha512=a2db43557591c2cf90a2b2cdab7ed720c4f4eafa368953d45e924d6e12b9f06e0c5b1c5d3f0794727dc058e478a10c3a1796a51683e31367a0663a401df329e3
    
    
  doc/CHANGES.html
v0.6
- Fix SIGSEGV on Uring.wait(@edwintorok #89).io_uring_submit_and_wait_timeoutcan return a success status but with a NULLcqe.
- Remove unused variable in C stub (@talex5 #87).
- Use caml_enter_blocking_sectionwhen callingio_uring_submit(@TheLortex #86).
v0.5
- Decouple Heap entries from ring size (@haesbaert #81). Before this change, we could only wait for at most queue_depthevents at a time.
- Update to liburing-2.3 (@avsm #82).
v0.4
New features:
- Add Uring.timeout(@bikallem #59).
- Add Uring.readandUring.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 peektoget_cqe_nonblocking(@talex5 #67). The old name was confusing because it does remove the item from the ring.
- Update to liburing 2.2 (@talex5 #56).
- 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.iov_maxconstant (@talex5 #76).
- 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_waitwhere appropriate (@haesbaert #69).
- Add a readvbenchmark (@talex5 #64).
- Avoid unnecessary use of CAMLparamin the C stubs (@haesbaert #61).
Bug fixes:
- Prevent ring from being used after exit (@talex5 #78).
Build changes:
- Remove use of notty for formatting benchmark results (@talex5 #71). It prevented uring from being tested on OCaml 5.
- Use MDX for README (@talex5 #57).
- Convert tests to MDX (@talex5 #58 #73).
- Use opam-repository syntax for license (@kit-ty-kate #72).
- Remove internal is_dirtyflag (@talex5 #77).
v0.3
Breaking changes:
- Don't allocate a fixed buffer by default (@talex5 #53). If you want a fixed buffer, you now need to call set_fixed_buffer.
New features:
- Add sendmsg and recvmsg (@patricoferris #49).
- Allow sending and receiving FDs using SCM_RIGHTS(@talex5 #52).
Other changes:
- Update tests to cmdliner 1.1.0 (@patricoferris #50).
v0.2
New features:
- Allow running in polling mode (@talex5 #44).
Other changes:
- Update to liburing 2.1 (@talex5 #46).
- Remove bigstringaf dependency (@talex5 #43).
- Cmdliner is only needed for tests (@talex5 #45).
- Remove test dependencies on Bos and Rresult (@talex5 #40).
- Address Fmt.strfdeprecation error (@bikallem #38).
- Update to cstruct 6.0.1 for shiftv(@talex5 #36).
v0.1
- Initial release.