aboutsummaryrefslogtreecommitdiff
path: root/ivyLoop.mli
diff options
context:
space:
mode:
Diffstat (limited to 'ivyLoop.mli')
-rw-r--r--ivyLoop.mli25
1 files changed, 25 insertions, 0 deletions
diff --git a/ivyLoop.mli b/ivyLoop.mli
new file mode 100644
index 0000000..5c84843
--- /dev/null
+++ b/ivyLoop.mli
@@ -0,0 +1,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] *)
+