val sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.tval create : unit -> 'a Async_kernel.Pipe.Reader.t * 'a tcreate () returns a reader end, which must be used inside Async, and a writer end, which must be used outside Async. create can be called inside or outside Async.
val pushback : _ t -> unitpushback writer blocks the current thread until the pipe is empty or closed.
module Written_or_closed : sig ... endmodule If_closed : sig ... endFunctions that write elements to the pipe take an If_closed.t argument to specify how to deal with the possibility that the pipe is closed.
val transfer_in_without_pushback : ?wakeup_scheduler:bool -> 'a t -> from:'a Core.Queue.t -> if_closed:'b If_closed.t -> 'btransfer_in_without_pushback' and write_without_pushback transfer the element(s) into the pipe and return immediately.
val write_without_pushback : ?wakeup_scheduler:bool -> 'a t -> 'a -> if_closed:'b If_closed.t -> 'bval transfer_in : 'a t -> from:'a Core.Queue.t -> if_closed:'b If_closed.t -> 'btransfer_in and write transfer the element(s) into the pipe and block the current thread until the pipe is empty or closed (like pushback).
val write : 'a t -> 'a -> if_closed:'b If_closed.t -> 'bval close : _ t -> unitval is_closed : _ t -> boolval closed : _ t -> unitclosed writer blocks the current thread until the pipe is closed.