sig
type t = {
file_descr : Raw_fd.File_descr.t;
mutable info : Core.Std.Info.t;
mutable kind : Raw_fd.Kind.t;
supports_nonblock : bool;
mutable have_set_nonblock : bool;
mutable state : Raw_fd.State.t;
watching : Raw_fd.Watching.t Read_write.Mutable.t;
mutable watching_has_changed : bool;
mutable num_active_syscalls : int;
close_finished : unit Import.Ivar.t;
}
val sexp_of_t : Raw_fd.T.t -> Sexplib.Sexp.t
val close_finished : Raw_fd.T.t -> unit Import.Ivar.t
val num_active_syscalls : Raw_fd.T.t -> int
val set_num_active_syscalls : Raw_fd.T.t -> int -> unit
val watching_has_changed : Raw_fd.T.t -> bool
val set_watching_has_changed : Raw_fd.T.t -> bool -> unit
val watching : Raw_fd.T.t -> Raw_fd.Watching.t Read_write.Mutable.t
val state : Raw_fd.T.t -> Raw_fd.State.t
val set_state : Raw_fd.T.t -> Raw_fd.State.t -> unit
val have_set_nonblock : Raw_fd.T.t -> bool
val set_have_set_nonblock : Raw_fd.T.t -> bool -> unit
val supports_nonblock : Raw_fd.T.t -> bool
val kind : Raw_fd.T.t -> Raw_fd.Kind.t
val set_kind : Raw_fd.T.t -> Raw_fd.Kind.t -> unit
val info : Raw_fd.T.t -> Core.Std.Info.t
val set_info : Raw_fd.T.t -> Core.Std.Info.t -> unit
val file_descr : Raw_fd.T.t -> Raw_fd.File_descr.t
module Fields :
sig
val names : string list
val close_finished : (Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t
val num_active_syscalls : (Raw_fd.T.t, int) Fieldslib.Field.t
val watching_has_changed : (Raw_fd.T.t, bool) Fieldslib.Field.t
val watching :
(Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t
val state : (Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t
val have_set_nonblock : (Raw_fd.T.t, bool) Fieldslib.Field.t
val supports_nonblock : (Raw_fd.T.t, bool) Fieldslib.Field.t
val kind : (Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t
val info : (Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t
val file_descr : (Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t
val make_creator :
file_descr:((Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t ->
'a -> ('b -> Raw_fd.File_descr.t) * 'c) ->
info:((Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t ->
'c -> ('b -> Core.Std.Info.t) * 'd) ->
kind:((Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t ->
'd -> ('b -> Raw_fd.Kind.t) * 'e) ->
supports_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t ->
'e -> ('b -> bool) * 'f) ->
have_set_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t ->
'f -> ('b -> bool) * 'g) ->
state:((Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t ->
'g -> ('b -> Raw_fd.State.t) * 'h) ->
watching:((Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t ->
'h -> ('b -> Raw_fd.Watching.t Read_write.Mutable.t) * 'i) ->
watching_has_changed:((Raw_fd.T.t, bool) Fieldslib.Field.t ->
'i -> ('b -> bool) * 'j) ->
num_active_syscalls:((Raw_fd.T.t, int) Fieldslib.Field.t ->
'j -> ('b -> int) * 'k) ->
close_finished:((Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t ->
'k -> ('b -> unit Import.Ivar.t) * 'l) ->
'a -> ('b -> Raw_fd.T.t) * 'l
val create :
file_descr:Raw_fd.File_descr.t ->
info:Core.Std.Info.t ->
kind:Raw_fd.Kind.t ->
supports_nonblock:bool ->
have_set_nonblock:bool ->
state:Raw_fd.State.t ->
watching:Raw_fd.Watching.t Read_write.Mutable.t ->
watching_has_changed:bool ->
num_active_syscalls:int ->
close_finished:unit Import.Ivar.t -> Raw_fd.T.t
val iter :
file_descr:((Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t -> 'a) ->
info:((Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t -> 'b) ->
kind:((Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t -> 'c) ->
supports_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> 'd) ->
have_set_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> 'e) ->
state:((Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t -> 'f) ->
watching:((Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t -> 'g) ->
watching_has_changed:((Raw_fd.T.t, bool) Fieldslib.Field.t -> 'h) ->
num_active_syscalls:((Raw_fd.T.t, int) Fieldslib.Field.t -> 'i) ->
close_finished:((Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t ->
'j) ->
'j
val fold :
init:'a ->
file_descr:('a ->
(Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t -> 'b) ->
info:('b -> (Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t -> 'c) ->
kind:('c -> (Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t -> 'd) ->
supports_nonblock:('d -> (Raw_fd.T.t, bool) Fieldslib.Field.t -> 'e) ->
have_set_nonblock:('e -> (Raw_fd.T.t, bool) Fieldslib.Field.t -> 'f) ->
state:('f -> (Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t -> 'g) ->
watching:('g ->
(Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t -> 'h) ->
watching_has_changed:('h ->
(Raw_fd.T.t, bool) Fieldslib.Field.t -> 'i) ->
num_active_syscalls:('i -> (Raw_fd.T.t, int) Fieldslib.Field.t -> 'j) ->
close_finished:('j ->
(Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t ->
'k) ->
'k
val map :
file_descr:((Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t ->
Raw_fd.File_descr.t) ->
info:((Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t ->
Core.Std.Info.t) ->
kind:((Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t -> Raw_fd.Kind.t) ->
supports_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
have_set_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
state:((Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t ->
Raw_fd.State.t) ->
watching:((Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t -> Raw_fd.Watching.t Read_write.Mutable.t) ->
watching_has_changed:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
num_active_syscalls:((Raw_fd.T.t, int) Fieldslib.Field.t -> int) ->
close_finished:((Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t ->
unit Import.Ivar.t) ->
Raw_fd.T.t
val map_poly : (Raw_fd.T.t, 'a) Fieldslib.Field.user -> 'a list
val for_all :
file_descr:((Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t ->
bool) ->
info:((Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t -> bool) ->
kind:((Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t -> bool) ->
supports_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
have_set_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
state:((Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t -> bool) ->
watching:((Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t -> bool) ->
watching_has_changed:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
num_active_syscalls:((Raw_fd.T.t, int) Fieldslib.Field.t -> bool) ->
close_finished:((Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t ->
bool) ->
bool
val exists :
file_descr:((Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t ->
bool) ->
info:((Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t -> bool) ->
kind:((Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t -> bool) ->
supports_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
have_set_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
state:((Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t -> bool) ->
watching:((Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t -> bool) ->
watching_has_changed:((Raw_fd.T.t, bool) Fieldslib.Field.t -> bool) ->
num_active_syscalls:((Raw_fd.T.t, int) Fieldslib.Field.t -> bool) ->
close_finished:((Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t ->
bool) ->
bool
val to_list :
file_descr:((Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t -> 'a) ->
info:((Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t -> 'a) ->
kind:((Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t -> 'a) ->
supports_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> 'a) ->
have_set_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t -> 'a) ->
state:((Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t -> 'a) ->
watching:((Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t -> 'a) ->
watching_has_changed:((Raw_fd.T.t, bool) Fieldslib.Field.t -> 'a) ->
num_active_syscalls:((Raw_fd.T.t, int) Fieldslib.Field.t -> 'a) ->
close_finished:((Raw_fd.T.t, unit Import.Ivar.t) Fieldslib.Field.t ->
'a) ->
'a list
module Direct :
sig
val iter :
Raw_fd.T.t ->
file_descr:((Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Raw_fd.File_descr.t -> 'a) ->
info:((Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Core.Std.Info.t -> 'b) ->
kind:((Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Raw_fd.Kind.t -> 'c) ->
supports_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t ->
Raw_fd.T.t -> bool -> 'd) ->
have_set_nonblock:((Raw_fd.T.t, bool) Fieldslib.Field.t ->
Raw_fd.T.t -> bool -> 'e) ->
state:((Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Raw_fd.State.t -> 'f) ->
watching:((Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t ->
Raw_fd.T.t ->
Raw_fd.Watching.t Read_write.Mutable.t -> 'g) ->
watching_has_changed:((Raw_fd.T.t, bool) Fieldslib.Field.t ->
Raw_fd.T.t -> bool -> 'h) ->
num_active_syscalls:((Raw_fd.T.t, int) Fieldslib.Field.t ->
Raw_fd.T.t -> int -> 'i) ->
close_finished:((Raw_fd.T.t, unit Import.Ivar.t)
Fieldslib.Field.t ->
Raw_fd.T.t -> unit Import.Ivar.t -> 'j) ->
'j
val fold :
Raw_fd.T.t ->
init:'a ->
file_descr:('a ->
(Raw_fd.T.t, Raw_fd.File_descr.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Raw_fd.File_descr.t -> 'b) ->
info:('b ->
(Raw_fd.T.t, Core.Std.Info.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Core.Std.Info.t -> 'c) ->
kind:('c ->
(Raw_fd.T.t, Raw_fd.Kind.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Raw_fd.Kind.t -> 'd) ->
supports_nonblock:('d ->
(Raw_fd.T.t, bool) Fieldslib.Field.t ->
Raw_fd.T.t -> bool -> 'e) ->
have_set_nonblock:('e ->
(Raw_fd.T.t, bool) Fieldslib.Field.t ->
Raw_fd.T.t -> bool -> 'f) ->
state:('f ->
(Raw_fd.T.t, Raw_fd.State.t) Fieldslib.Field.t ->
Raw_fd.T.t -> Raw_fd.State.t -> 'g) ->
watching:('g ->
(Raw_fd.T.t, Raw_fd.Watching.t Read_write.Mutable.t)
Fieldslib.Field.t ->
Raw_fd.T.t ->
Raw_fd.Watching.t Read_write.Mutable.t -> 'h) ->
watching_has_changed:('h ->
(Raw_fd.T.t, bool) Fieldslib.Field.t ->
Raw_fd.T.t -> bool -> 'i) ->
num_active_syscalls:('i ->
(Raw_fd.T.t, int) Fieldslib.Field.t ->
Raw_fd.T.t -> int -> 'j) ->
close_finished:('j ->
(Raw_fd.T.t, unit Import.Ivar.t)
Fieldslib.Field.t ->
Raw_fd.T.t -> unit Import.Ivar.t -> 'k) ->
'k
end
end
end