To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
-
async
-
-
async.lock_file_async
-
async.log_extended
-
async.unpack_sequence
Library
Module
Module type
Parameter
Class
Class type
Unpack_sequence
uses an Unpack_buffer.t
to unpack a sequence of packed values coming from a string Pipe.Reader.t
or a Reader.t
. It can produce a pipe of upacked values or iterate a user-supplied function over the unpacked values.
module Unpack_iter_result : sig ... end
module Unpack_result : sig ... end
module Unpack_from : sig ... end
Unpack_from
specifies the source of the sequence of bytes to unpack from.
val unpack_into_pipe :
from:Unpack_from.t ->
using:'a Unpack_buffer.t ->
'a Async.Pipe.Reader.t * 'a Unpack_result.t Async.Deferred.t
unpack_into_pipe ~from:input ~using:unpack_buffer
returns (output, result)
, and uses unpack_buffer
to unpack values from input
until input
is closed. It puts the unpacked values into output
, which is closed once unpacking finishes, be it normally or due to an error. result
indicates why unpacking finished.
To unpack from a bin_reader
, use:
unpack_into_pipe ~from ~using:(Unpack_buffer.create_bin_prot bin_reader)
Using ~from:(Reader reader)
is more efficient than ~from:(Pipe (Reader.pipe
reader))
because it blits bytes directly from the reader buffer to the unpack buffer, without any intervening allocation.
val unpack_iter :
from:Unpack_from.t ->
using:'a Unpack_buffer.t ->
f:('a -> unit) ->
'a Unpack_iter_result.t Async.Deferred.t
unpack_iter
is a more efficient version of unpack_into_pipe
that calls f
on each value as it is unpacked, rather than putting the value into a pipe. If f
raises, then the result will be Unpack_error
.