module Future: sig .. end
Computations run in background.
type 'a t
The type of futures, that are computations run in background.
val cancel : 'a t -> bool -> bool
cancel f i
attemps to cancel future f
, i
indicating whether to
interrupt the computation if already started. Returns whether the
future was cancelled.
val get : 'a t -> 'a
Waits for the computation to complete, and returns its result.
Raises Runtime.Interrupted
if the thread is interrupted.
Raises Runtime.Raised
is the computation raised an uncaught
exception.
Raises Not_found
if the computation was cancelled.
val get_time : 'a t -> int64 -> TimeUnit.t -> 'a
get_time f t u
is similar to get f
, except that the current
thread will at most wait for t
(time value whose unit is u
).
Raises Runtime.Interrupted
if the thread is interrupted.
Raises Runtime.Raised
is the computation raised an uncaught
exception.
Raises Not_found
if the computation was cancelled.
Raises Runtime.Timeout
if time has elapsed without completion.
val is_cancelled : 'a t -> bool
Tests whether the task was cancelled before completion.
val is_done : 'a t -> bool
Tests whether the computation is completed.