Module Gemini.Inf_pipe

module T : sig ... end
module type S = sig ... end
include S
module Reader : sig ... end
val read : ?consumer:Async.Pipe.Consumer.t -> 'a Reader.t -> 'a Async.Deferred.t
val read_now : ?consumer:Async.Pipe.Consumer.t -> 'a Reader.t -> [> `Nothing_available | `Ok of 'a ]
val read_exactly : ?consumer:Async.Pipe.Consumer.t -> 'a Reader.t -> num_values:int -> 'a Base.Queue.t Async.Deferred.t
val unfold : init:'s -> f:('s -> ('a * 's) Async.Deferred.t) -> 'a Reader.t
val map : 'a Reader.t -> f:('a -> 'b) -> 'b Reader.t
val filter_map : ?max_queue_length:int -> 'a Reader.t -> f:('a -> 'b option) -> 'b Reader.t
val interleave : 'a Reader.t list -> 'a Reader.t
val to_pipe : 'a Reader.t -> 'a Async.Pipe.Reader.t