Iobuf_unixmodule Unix := Core_unixval sexp_of_ok_or_eof : ok_or_eof -> Sexplib0.Sexp.tval input :
([> Core.write ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Core.In_channel.t ->
ok_or_eofIobuf has analogs of various Bigstring functions. These analogs advance by the amount written/read.
val read :
([> Core.write ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
ok_or_eofval really_read :
([> Core.write ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
ok_or_eofval really_pread :
([> Core.write ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
offset:int ->
ok_or_eofval read_assume_fd_is_nonblocking :
([> Core.write ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
Unix.Syscall_result.Unit.tval pread_assume_fd_is_nonblocking :
([> Core.write ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
offset:int ->
unitval recvfrom_assume_fd_is_nonblocking :
([> Core.write ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
Unix.sockaddrmodule Recvmmsg_context : sig ... endrecvmmsg's context comprises data needed by the system call. Setup can be expensive, particularly for many buffers.
val recvmmsg_assume_fd_is_nonblocking :
(Unix.File_descr.t ->
Recvmmsg_context.t ->
Unix.Syscall_result.Int.t)
Core.Or_error.trecvmmsg_assume_fd_is_nonblocking fd context returns the number of context iobufs read into (or errno). fd must not block. THREAD_IO_CUTOFF is ignored.
EINVAL is returned if an Iobuf passed to Recvmmsg_context.create has its buf or limits changed.
val send_nonblocking_no_sigpipe :
unit ->
(([> Core.read ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
Unix.Syscall_result.Unit.t)
Core.Or_error.tval sendto_nonblocking_no_sigpipe :
unit ->
(([> Core.read ], Iobuf.seek, Iobuf.global) Iobuf.t ->
Unix.File_descr.t ->
Unix.sockaddr ->
Unix.Syscall_result.Unit.t)
Core.Or_error.tmodule Peek : sig ... endWrite from the iobuf to the specified channel without changing the iobuf window. Returns the number of bytes written.
val output :
([> Core.read ], Iobuf.seek, Iobuf.global) Iobuf.t @ local ->
(Core.Out_channel.t ->
unit) @ localAs Peek, but advances the window by the number of bytes written.
val write :
([> Core.read ], Iobuf.seek, Iobuf.global) Iobuf.t @ local ->
(Unix.File_descr.t ->
unit) @ localval really_write :
([> Core.read ], Iobuf.seek, Iobuf.global) Iobuf.t @ local ->
(Unix.File_descr.t ->
unit) @ localval write_assume_fd_is_nonblocking :
([> Core.read ], Iobuf.seek, Iobuf.global) Iobuf.t @ local ->
(Unix.File_descr.t ->
unit) @ localval pwrite_assume_fd_is_nonblocking :
([> Core.read ], Iobuf.seek, Iobuf.global) Iobuf.t @ local ->
(Unix.File_descr.t ->
(offset:int ->
unit) @ local) @ localmodule Expert : sig ... endThe Expert module is for building efficient out-of-module Iobuf abstractions.