package core

  1. Overview
  2. Docs
Industrial strength alternative to OCaml's standard library

Install

Dune Dependency

Authors

Maintainers

Sources

v0.14.1.tar.gz
sha256=8c158c12345d36a5cdd71081728f4317b2b04c09eb4126b6de00c482a6fec2a0
md5=b11f58205953d84cedb0003efcdab231

doc/core.iobuf_unix/Iobuf_unix/index.html

Module Iobuf_unix

type ok_or_eof =
  1. | Ok
  2. | Eof
val compare_ok_or_eof : ok_or_eof -> ok_or_eof -> int
val sexp_of_ok_or_eof : ok_or_eof -> Ppx_sexp_conv_lib.Sexp.t
val input : ([> Core.write ], Iobuf.seek) Iobuf.t -> Core.In_channel.t -> ok_or_eof

Iobuf has analogs of various Bigstring functions. These analogs advance by the amount written/read.

val read_assume_fd_is_nonblocking : ([> Core.write ], Iobuf.seek) Iobuf.t -> Core.Unix.File_descr.t -> Core.Unix.Syscall_result.Unit.t
val pread_assume_fd_is_nonblocking : ([> Core.write ], Iobuf.seek) Iobuf.t -> Core.Unix.File_descr.t -> offset:int -> unit
val recvfrom_assume_fd_is_nonblocking : ([> Core.write ], Iobuf.seek) Iobuf.t -> Core.Unix.File_descr.t -> Core.Unix.sockaddr
module Recvmmsg_context : sig ... end

recvmmsg's context comprises data needed by the system call. Setup can be expensive, particularly for many buffers.

val recvmmsg_assume_fd_is_nonblocking : (Core.Unix.File_descr.t -> Recvmmsg_context.t -> Core.Unix.Syscall_result.Int.t) Core.Or_error.t

recvmmsg_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.t -> Core.Unix.File_descr.t -> Core.Unix.Syscall_result.Unit.t) Core.Or_error.t
val sendto_nonblocking_no_sigpipe : unit -> (([> Core.read ], Iobuf.seek) Iobuf.t -> Core.Unix.File_descr.t -> Core.Unix.sockaddr -> Core.Unix.Syscall_result.Unit.t) Core.Or_error.t
val output : ([> Core.read ], Iobuf.seek) Iobuf.t -> Core.Out_channel.t -> unit
val write : ([> Core.read ], Iobuf.seek) Iobuf.t -> Core.Unix.File_descr.t -> unit
val write_assume_fd_is_nonblocking : ([> Core.read ], Iobuf.seek) Iobuf.t -> Core.Unix.File_descr.t -> unit
val pwrite_assume_fd_is_nonblocking : ([> Core.read ], Iobuf.seek) Iobuf.t -> Core.Unix.File_descr.t -> offset:int -> unit

Expert

module Expert : sig ... end

The Expert module is for building efficient out-of-module Iobuf abstractions.

OCaml

Innovation. Community. Security.