package core
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=8c158c12345d36a5cdd71081728f4317b2b04c09eb4126b6de00c482a6fec2a0
md5=b11f58205953d84cedb0003efcdab231
doc/core.iobuf_unix/Iobuf_unix/Recvmmsg_context/index.html
Module Iobuf_unix.Recvmmsg_context
recvmmsg
's context comprises data needed by the system call. Setup can be expensive, particularly for many buffers.
NOTE: Unlike most system calls involving iobufs, the lo offset is not respected. Instead, the iobuf is implicity reset
(i.e., lo <- lo_min
and hi <- hi_max
) prior to reading and a flip_lo
applied afterward. This is to prevent the memory-unsafe case where an iobuf's lo pointer is advanced and recvmmsg
attempts to copy into memory exceeding the underlying bigstring
's capacity. If any of the returned iobufs have had their underlying bigstring or limits changed (e.g., through a call to set_bounds_and_buffer
or narrow_lo
), the call will fail with EINVAL
.
val create : (Core.read_write, Iobuf.seek) Iobuf.t array -> t
Do not change these Iobuf
's buf
s or limits before calling recvmmsg_assume_fd_is_nonblocking
.