Provided by: libnbd-dev_1.20.0-1_amd64 bug

NAME

       NBD.Buffer - Persistent buffer used in AIO calls.

Module

       Module   NBD.Buffer

Documentation

       Module Buffer
        : sig end

       Persistent buffer used in AIO calls.

       type t = (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t

       A buffer that persists across calls, used in NBD.aio_pread , NBD.aio_pwrite and similar.

       In libnbd ≤ 1.18 this was a specially implemented type.  This was inefficient as zero copy
       was not possible.

       In libnbd ≥ 1.20 this is just an alias for a Bigarray , so  you  can  use  functions  from
       Bigarray.Array1 directly if you prefer.  This also allows zero copy.

       This type is compatible with the bigstring and bigstringaf libraries.

       val alloc : int -> t

       Allocate an uninitialized buffer.  The parameter is the size in bytes.

       In libnbd ≥ 1.20 this is an alias for Bigarray.Array1.create .

       val to_bytes : t -> bytes

       Copy buffer to an OCaml bytes object.

       In libnbd ≥ 1.20 you can read from the bigarray directly to avoid copying if you want.

       val to_string : t -> string

       Same as NBD.Buffer.to_bytes but returns a string instead.

       val of_bytes : bytes -> t

       Copy an OCaml bytes object to a newly allocated buffer.

       In libnbd ≥ 1.20 you can write to the bigarray directly to avoid copying if you want.

       val of_string : string -> t

       Same as NBD.Buffer.of_bytes but takes a string instead.

       val size : t -> int

       Return the size of the buffer.

       In libnbd ≥ 1.20 this is an alias for Bigarray.Array1.dim .