Module Async_unix__.Raw_fd
module File_descr = Core.Unix.File_descr
module Kind : sig ... end
module State : sig ... end
val sexp_of_ready_to_result : ready_to_result -> Ppx_sexp_conv_lib.Sexp.t
module Watching : sig ... end
module T : sig ... end
include T
type t
=
{
file_descr : File_descr.t;
mutable info : Core.Info.t;
mutable kind : Kind.t;
mutable supports_nonblock : bool;
mutable have_set_nonblock : bool;
mutable state : State.t;
watching : Watching.t Async_unix__.Read_write.Mutable.t;
mutable watching_has_changed : bool;
mutable num_active_syscalls : int;
close_finished : unit Async_unix__.Import.Ivar.t;
}
val close_finished : t -> unit Async_unix__.Import.Ivar.t
val num_active_syscalls : t -> int
val set_num_active_syscalls : t -> int -> unit
val watching_has_changed : t -> bool
val set_watching_has_changed : t -> bool -> unit
val watching : t -> Watching.t Async_unix__.Read_write.Mutable.t
val state : t -> State.t
val set_state : t -> State.t -> unit
val have_set_nonblock : t -> bool
val set_have_set_nonblock : t -> bool -> unit
val supports_nonblock : t -> bool
val set_supports_nonblock : t -> bool -> unit
val kind : t -> Kind.t
val set_kind : t -> Kind.t -> unit
val info : t -> Core.Info.t
val set_info : t -> Core.Info.t -> unit
val file_descr : t -> File_descr.t
module Fields : sig ... end
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
type t_hum
= t
val sexp_of_t_hum : t -> Ppx_sexp_conv_lib.Sexp.t
val equal : t -> t -> bool
val invariant : t -> unit
val to_int : t -> int
val create : ?avoid_nonblock_if_possible:bool -> Kind.t -> File_descr.t -> Core.Info.t -> t
val inc_num_active_syscalls : t -> [> `Already_closed | `Ok ]
val set_state : t -> State.t -> unit
val is_open : t -> bool
val is_closed : t -> bool
val set_nonblock_if_necessary : ?nonblocking:bool -> t -> unit
val with_file_descr_exn : ?nonblocking:bool -> t -> (File_descr.t -> 'a) -> 'a
val with_file_descr : ?nonblocking:bool -> t -> (File_descr.t -> 'a) -> [> `Already_closed | `Error of exn | `Ok of 'a ]
val syscall : ?nonblocking:bool -> t -> (File_descr.t -> 'a) -> [> `Already_closed | `Error of exn | `Ok of 'a ]
val syscall_exn : ?nonblocking:bool -> t -> (File_descr.t -> 'a) -> 'a
val syscall_result_exn : ?nonblocking:bool -> t -> 'a -> (File_descr.t -> 'a -> 'b Async_unix__.Syscall.Syscall_result.t) -> 'b Async_unix__.Syscall.Syscall_result.t