time-out: Timers, timeouts, alarms, monadic wrappers
|Dependencies||base (>=4.8 && <5), data‑default‑class (>=0.0.1), exceptions (>=0.8.2.1), time‑interval (>=0.1.1), time‑units (>=1.0.0), transformers (>=0.4.2.0) [details]|
|Copyright||♡ Copying is an act of love. Please copy, reuse and share.|
|Category||Control, Monad, Time, Timeout|
|Source repo||head: darcs get http://hub.darcs.net/fr33domlover/time-out|
|Uploaded||by akrasner at Mon May 30 11:10:58 UTC 2016|
|Downloads||376 total (5 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs available [build log]
Last success reported on 2016-05-30 [all 1 reports]
Hackage Matrix CI
This library provides several timer and timeout related tools:
Control.Timeout - Execution of a computation with a time limit, aborting it if the limit is reached before the computation finishes. It is more-or-less a lifted version of System.Timeout from the
basepackage. It's good for single use, but it launches a temporary helper thread. If you want to time-limit actions continuously (e.g. if you're implementing a network protocol), you should probably use one of the other tools described below, since they use a single dedicated thread for all the timeouts.
Control.Timer - Managing a timer running in a dedicated thread. The timer waits for an amount of time you specify, and then runs an action you specify. You can stop and restart it at any time.
Control.Alarm - Managing an alarm, which is a timer whose action is to notify your thread when the specified amount of time passes.
Control.Monad.Trans.Timer - A monad transformer for managing a timer
Control.Monad.Trans.Alarm - A monad transformer for managing an alarm
Control.Monad.Trans.Timeout - A monad transformer for running actions with timeouts, useful for e.g. network protocols where any send and receive can timeout
Control.Monad.Timeout.Class - A monad typeclass for running actions with a time limit. Control.Timeout provides a simple trivial for IO (which can then be used with any
MonadIO), and Control.Monad.Trans.Timeout provides a scalable instance.
[Skip to Readme]
For package maintainers and hackage trustees