package lwt

  1. Overview
  2. Docs
Promises and event-driven I/O

Install

dune-project
 Dependency

Authors

Maintainers

Sources

5.10.0.tar.gz
md5=dba3f8d8db1b9bed9f3a24385cc48e2b
sha512=6d25ebc6d011e75ff6ce6d1b0821be1aacbdebc2fbb26130edd43f20c0d1874bbcb6618003600fc80006a898434118795f691322a2455de11dfa23a868d6a110

doc/lwt.unix/Lwt_timeout/index.html

Module Lwt_timeoutSource

Cancelable timeouts.

Sourcetype t
Sourceval create : int -> (unit -> unit) -> t

Lwt_timeout.create n f creates a new timeout object with duration n seconds. f is the action, a function to be called once the timeout expires. f should not raise exceptions.

The timeout is not started until Lwt_timeout.start is called on it.

Sourceval start : t -> unit

Starts the given timeout.

Starting a timeout that has already been started has the same effect as stopping it, and then restarting it with its original duration. So, suppose you have timeout with a duration of three seconds, which was started two seconds ago. The next call to its action is scheduled for one second in the future. Calling Lwt_timeout.start timeout at this point cancels this upcoming action call, and schedules a call three seconds from now.

Sourceval stop : t -> unit

Stops (cancels) the given timeout.

Sourceval change : t -> int -> unit

Changes the duration of the given timeout.

If the timeout has already been started, it is stopped, and restarted with its new duration. This is similar to how Lwt_timeout.start works on a timeout that has already been started.

Sourceval set_exn_handler : (exn -> unit) -> unit

Lwt_timeout.set_exn_handler f sets the handler to be used for exceptions raised by timeout actions. Recall that actions are not allowed to raise exceptions. If they do raise an exception exn despite this, f exn is called.

The default behavior of f exn, set by Lwt_timeout on program startup, is to pass exn to !Lwt.async_exception_hook. The default behavior of that is to terminate the process.