Timeout_lib.Make
val create : Time.Controller.t -> Time.Span.t -> f:( Time.t -> 'a ) -> 'a t
val to_deferred : 'a t -> 'a Async_kernel.Deferred.t
val peek : 'a t -> 'a option
val cancel : Time.Controller.t -> 'a t -> 'a -> unit
val remaining_time : 'a t -> Time.Span.t
val await :
timeout_duration:Time.Span.t ->
Time.Controller.t ->
'a Async_kernel.Deferred.t ->
[ `Ok of 'a | `Timeout ] Async_kernel.Deferred.t
val await_exn :
timeout_duration:Time.Span.t ->
Time.Controller.t ->
'a Async_kernel.Deferred.t ->
'a Async_kernel.Deferred.t