Up

module Tail

: sig

A pointer to the end of an [root:Async_stream] that can be used to extend the stream.

#
type 'a t
#
val create : unit -> _ t

create () returns a new tail.

#
val extend : 'a t -> 'a -> unit

extend t v extends the stream, and will raise an exception if t has been closed.

#
val close_exn : _ t -> unit

close_exn t closes t. Subsequent calls to close_exn or extend will raise an exception.

#
val close_if_open : _ t -> unit

close_if_open t closes t, if it's not already closed. If t is already closed, then this is a no-op.

#
val is_closed : _ t -> bool

is_closed t returns true iff the stream t is closed.

#
module Stream : sig
#
type 'a t
#
type 'a next =
# | Nil
# | Cons of 'a * 'a t
#
val next : 'a t -> 'a next Deferred.t
#
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
end
#
val collect : 'a t -> 'a Stream.t

collect t returns the stream starting at the current position of the tail, i.e. the stream consisting of all subsequent extends.

#
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
end