module Scheduler = Async_unix__.Raw_scheduler
module Unix = Async_unix__.Unix_syscalls
module Id : sig ... end
module Read_result : sig ... end
module Internal : sig ... end
val sexp_of_t : t ‑> Base.Sexp.t
val sexp_of_handle_chunk_result : a. ('a ‑> Base.Sexp.t) ‑> 'a handle_chunk_result ‑> Base.Sexp.t
val sexp_of_handle_iobuf_result : a. ('a ‑> Base.Sexp.t) ‑> 'a handle_iobuf_result ‑> Base.Sexp.t
val sexp_of_read_one_chunk_at_a_time_result : a. ('a ‑> Base.Sexp.t) ‑> 'a read_one_chunk_at_a_time_result ‑> Base.Sexp.t
val close : Internal.t ‑> unit Async_kernel__.Deferred0.t
val close_finished : Internal.t ‑> unit Async_kernel__.Deferred0.t
val create : ?buf_len:Core_kernel__Int.t ‑> Async_unix.Fd.t ‑> Internal.t
val fd : Internal.t ‑> Async_unix.Fd.t
val id : Internal.t ‑> Id.t
val invariant : Internal.t ‑> unit
val io_stats : Async_unix.Io_stats.t
val is_closed : Internal.t ‑> bool
val last_read_time : Internal.t ‑> Core.Time.t
val of_in_channel : Core.In_channel.t ‑> Async_unix.Fd.Kind.t ‑> Internal.t
val open_file : ?buf_len:Core_kernel__Int.t ‑> string ‑> Internal.t Async_kernel__Deferred.t
val stdin : Internal.t lazy_t
val with_close : Internal.t ‑> f:(unit ‑> 'a Async_unix__.Import.Monitor.Deferred.t) ‑> 'a Async_unix__.Import.Monitor.Deferred.t
val with_file : ?buf_len:Core_kernel__Int.t ‑> ?exclusive:bool ‑> string ‑> f:(Internal.t ‑> 'a Async_unix__.Import.Monitor.Deferred.t) ‑> 'a Async_kernel__Deferred.t
val use : t ‑> unit
val finished_read : Internal.t ‑> unit
val do_read : t ‑> (unit ‑> 'a Async_kernel__Deferred.t) ‑> 'a Async_kernel__Deferred.t
val peek : t ‑> len:Core_kernel__Int.t ‑> [> `Eof | `Ok of Core_kernel__.Import.string ] Async_kernel__Deferred.t
val read : t ‑> ?pos:Core_kernel__.Import.int ‑> ?len:Core_kernel__.Import.int ‑> Core.Substring.base ‑> [> `Eof | `Ok of Core.Int.t ] Async_kernel__Deferred.t
val read_char : t ‑> [> `Eof | `Ok of Core_kernel__.Import.char ] Async_kernel__Deferred.t
val read_substring : t ‑> Core.Substring.t ‑> [> `Eof | `Ok of Core.Int.t ] Async_kernel__Deferred.t
val read_bigsubstring : t ‑> Core.Bigsubstring.t ‑> [> `Eof | `Ok of Core.Int.t ] Async_kernel__Deferred.t
val read_one_chunk_at_a_time : t ‑> handle_chunk:(Core.Bigstring.t ‑> pos:int ‑> len:int ‑> [< `Consumed of Core_kernel__Int.t * [ `Need of Core_kernel__Int.t | `Need_unknown ] | `Continue | `Stop of 'a | `Stop_consumed of 'a * Core_kernel__Int.t ] Async_unix__.Import.Deferred.t) ‑> [> `Eof | `Eof_with_unconsumed_data of Core_kernel__.Import.string | `Stopped of 'a ] Async_kernel__Deferred.t
val read_one_iobuf_at_a_time : t ‑> handle_chunk:(([< Core__.Import.read_write ], Core.Iobuf.seek) Core.Iobuf.t ‑> [< `Continue | `Stop of 'a ] Async_kernel__Deferred.t) ‑> [> `Eof | `Eof_with_unconsumed_data of Core_kernel__.Import.string | `Stopped of 'a ] Async_kernel__Deferred.t
val really_read : t ‑> ?pos:Core_kernel__.Import.int ‑> ?len:Core_kernel__.Import.int ‑> Core.Substring.base ‑> [> `Eof of int | `Ok ] Async_kernel__Deferred.t
val really_read_substring : t ‑> Core.Substring.t ‑> [> `Eof of int | `Ok ] Async_kernel__Deferred.t
val really_read_bigsubstring : t ‑> Core.Bigsubstring.t ‑> [> `Eof of int | `Ok ] Async_kernel__Deferred.t
val read_line : t ‑> [> `Eof | `Ok of Core_kernel__.Import.string ] Async_kernel__Deferred.t
val really_read_line : wait_time:Core.Time.Span.t ‑> t ‑> Core.String.t option Async_kernel__Deferred.t
val do_read_k : t ‑> (('a Core.Or_error.t ‑> unit) ‑> unit) ‑> ('a ‑> 'b) ‑> 'b Async_unix__.Import.Deferred.t
val read_until : t ‑> [< `Char of Base__Char.t | `Pred of Core_kernel__.Import.char ‑> bool ] ‑> keep_delim:bool ‑> [> `Eof | `Eof_without_delim of Core_kernel__.Import.string | `Ok of Core_kernel__.Import.string ] Async_unix__.Import.Deferred.t
val read_until_max : t ‑> [< `Char of Base__Char.t | `Pred of Core_kernel__.Import.char ‑> bool ] ‑> keep_delim:bool ‑> max:Core_kernel__Int.t ‑> [> `Eof | `Eof_without_delim of Core_kernel__.Import.string | `Max_exceeded of Core_kernel__.Import.string | `Ok of Core_kernel__.Import.string ] Async_unix__.Import.Deferred.t
val read_sexp : ?parse_pos:Core.Sexp.Parse_pos.t ‑> t ‑> [> `Eof | `Ok of Core.Sexp.t ] Async_unix__.Import.Deferred.t
val read_sexps : ?parse_pos:Core.Sexp.Parse_pos.t ‑> t ‑> Core.Sexp.t Async_unix__.Import.Pipe.Reader.t
val read_annotated_sexps : ?parse_pos:Core.Sexp.Parse_pos.t ‑> t ‑> Core.Sexp.Annotated.t Async_unix__.Import.Pipe.Reader.t
val peek_or_read_bin_prot : ?max_len:Core_kernel__Int.t ‑> t ‑> 'a Bin_prot.Type_class.reader ‑> peek_or_read:Internal.Peek_or_read.t ‑> [> `Eof | `Ok of 'a ] Async_unix__.Import.Deferred.t
val peek_bin_prot : ?max_len:Core_kernel__Int.t ‑> t ‑> 'a Bin_prot.Type_class.reader ‑> [> `Eof | `Ok of 'a ] Async_unix__.Import.Deferred.t
val read_bin_prot : ?max_len:Core_kernel__Int.t ‑> t ‑> 'a Bin_prot.Type_class.reader ‑> [> `Eof | `Ok of 'a ] Async_unix__.Import.Deferred.t
val read_marshal_raw : t ‑> [> `Eof | `Ok of Core.Bytes.t ] Async_kernel__Deferred.t
val read_marshal : t ‑> [> `Eof | `Ok of 'a ] Async_kernel__Deferred.t
val recv : t ‑> [> `Eof | `Ok of Core.Bytes.t ] Async_kernel__Deferred.t
val read_all : Internal.t ‑> (Internal.t ‑> [< `Eof | `Ok of 'a ] Async_kernel__Deferred.t) ‑> 'a Async_unix__.Import.Pipe.Reader.t
val lines : t ‑> Core_kernel__.Import.string Async_unix__.Import.Pipe.Reader.t
val contents : t ‑> string Async_kernel__Deferred.t
val file_contents : string ‑> string Async_kernel__Deferred.t
val file_lines : string ‑> Core_kernel__.Import.string list Async_kernel__Deferred.t
val transfer : t ‑> (Core_kernel__.Import.string, Async_unix__.Import.Pipe.Writer.phantom) Async_unix__.Import.Pipe.t ‑> unit Async_unix__.Import.Deferred.t
val lseek : t ‑> int64 ‑> mode:[< `Cur | `End | `Set ] ‑> int64 Async_kernel__Deferred.t
val ltell : t ‑> Core.Int64.t Async_kernel__Deferred.t
val get_error : file:Core_kernel__.Import.string ‑> sexp_kind:'a Internal.sexp_kind ‑> a_of_sexp:('a ‑> 'b) ‑> Core.Sexp.Annotated.t ‑> (unit, Core_kernel.Error.t) Core._result
val gen_load_exn : ?exclusive:bool ‑> sexp_kind:'a Internal.sexp_kind ‑> file:Core_kernel__.Import.string ‑> ('a list ‑> 'b) ‑> (Core.Sexp.Annotated.t list ‑> Core.Error.t) ‑> 'b Async_unix__.Import.Deferred.t
type ('sexp, 'a, 'b) load
= ?exclusive:bool ‑> ?expand_macros:bool ‑> string ‑> ('sexp ‑> 'a) ‑> 'b Async_unix__.Import.Deferred.t
module Macro_loader : sig ... end
val gen_load_sexp_exn : ?exclusive:bool ‑> ?expand_macros:bool ‑> sexp_kind:'a Internal.sexp_kind ‑> file:Core_kernel__.Import.string ‑> a_of_sexp:('a ‑> 'b) ‑> 'b Async_kernel__Deferred.t
val load_sexp_exn : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.t ‑> 'a) ‑> 'a Async_kernel__Deferred.t
val load_annotated_sexp_exn : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.Annotated.t ‑> 'a) ‑> 'a Async_kernel__Deferred.t
val gen_load_sexp : ?exclusive:bool ‑> ?expand_macros:bool ‑> sexp_kind:'a Internal.sexp_kind ‑> file:Core_kernel__.Import.string ‑> a_of_sexp:('a ‑> 'b) ‑> 'b Async_unix__.Import.Deferred.Or_error.t
val load_sexp : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.t ‑> 'a) ‑> 'a Async_unix__.Import.Deferred.Or_error.t
val load_annotated_sexp : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.Annotated.t ‑> 'a) ‑> 'a Async_unix__.Import.Deferred.Or_error.t
val gen_load_sexps_exn : ?exclusive:bool ‑> ?expand_macros:bool ‑> sexp_kind:'a Internal.sexp_kind ‑> file:Core_kernel__.Import.string ‑> a_of_sexp:('a ‑> 'b) ‑> 'b Core.List.t Async_kernel__Deferred.t
val load_sexps_exn : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.t ‑> 'a) ‑> 'a Core.List.t Async_kernel__Deferred.t
val load_annotated_sexps_exn : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.Annotated.t ‑> 'a) ‑> 'a Core.List.t Async_kernel__Deferred.t
val gen_load_sexps : ?exclusive:bool ‑> ?expand_macros:bool ‑> sexp_kind:'a Internal.sexp_kind ‑> file:Core_kernel__.Import.string ‑> a_of_sexp:('a ‑> 'b) ‑> 'b Core.List.t Async_unix__.Import.Deferred.Or_error.t
val load_sexps : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.t ‑> 'a) ‑> 'a Core.List.t Async_unix__.Import.Deferred.Or_error.t
val load_annotated_sexps : ?exclusive:bool ‑> ?expand_macros:bool ‑> Core_kernel__.Import.string ‑> (Core.Sexp.Annotated.t ‑> 'a) ‑> 'a Core.List.t Async_unix__.Import.Deferred.Or_error.t
val pipe : t ‑> Core_kernel__.Import.string Async_unix__.Import.Pipe.Reader.t
val drain : t ‑> unit Async_kernel__Deferred.t
type ('a, 'b) load_bin_prot
= ?exclusive:bool ‑> ?max_len:int ‑> string ‑> 'a Bin_prot.Type_class.reader ‑> 'b Async_unix__.Import.Deferred.t
val load_bin_prot : ?exclusive:bool ‑> ?max_len:Core_kernel__Int.t ‑> string ‑> 'a Bin_prot.Type_class.reader ‑> ('a, Core_kernel.Error.t) Core._result Async_kernel__Deferred.t
val load_bin_prot_exn : ?exclusive:bool ‑> ?max_len:Core_kernel__Int.t ‑> string ‑> 'a Bin_prot.Type_class.reader ‑> 'a Async_kernel__Deferred.t