aboutsummaryrefslogtreecommitdiff
path: root/ivyLoop.mli
blob: 5c84843c5356b3526a26389eb90553a8197ec002 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
val main : unit -> unit
(** Starts the loop which handles asynchronous communications. The standard
version does not return until IVY is explictly stopped *)

type channel
(** Channel handled by the main loop *)

val set_up_channel : Unix.file_descr -> (unit -> unit) -> (channel -> unit) -> channel
(** [set_up_channel fd delete read] gives the opportunity to the main loop
to call [read] when data is available on [fd] and [delete] when [fd] is 
closed *)

val close_channel : channel -> unit
(** Stops the handling of a channel by the main loop *)

type timer
(** Timer identifier *)

val timer : int -> int -> (timer -> unit) -> timer
(** [timer n ms cb] sets a timer which will call [n] times the callback [cb]
with a period of [ms] milliseconds *)

val remove_timer : timer -> unit
(** [remove_timer t] stops the timer [t] *)