mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
6 lines
No EOL
5.4 KiB
HTML
6 lines
No EOL
5.4 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CCTimer (containers.thread.CCTimer)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><meta name="generator" content="doc-ock-html v1.0.0-1-g1fc9bf0"/></head><body><nav id="top"><a href="../index.html">Up</a> — <span class="package">package <a href="../index.html">containers.thread</a></span></nav><header><h1><span class="keyword">Module</span> <span class="module-path">CCTimer</span></h1></header><h2>Event timer</h2><p>Used to be part of <code class="code">CCFuture</code></p><ul class="at-tag"><li><span class="at-tag since">Since</span>: 0.16</li></ul><div class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><div class="def type"><code><span class="keyword">type </span>t</code><code></code><code></code></div><div class="doc"><p>A scheduler for events. It runs in its own thread.</p></div></div><div class="spec val" id="val-create"><a href="#val-create" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>create : unit <span class="keyword">‑></span> <a href="index.html#type-t">t</a></code></div><div class="doc"><p>A new timer.</p></div></div><div class="spec val" id="val-set_exn_handler"><a href="#val-set_exn_handler" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>set_exn_handler : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> (exn <span class="keyword">‑></span> unit) <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">set_exn_handler timer f</code> registers <code class="code">f</code> so that any exception
|
|
raised by a task scheduled in <code class="code">timer</code> is given to <code class="code">f</code>.</p></div></div><div class="spec exception" id="exception-Stopped"><a href="#exception-Stopped" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">Stopped</span></code></div><div class="doc"></div></div><div class="spec val" id="val-after"><a href="#val-after" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>after : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> float <span class="keyword">‑></span> f:(unit <span class="keyword">‑></span> <span class="type-var">_</span>) <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Call the callback <code class="code">f</code> after the given number of seconds.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Stopped</span>: if the timer was stopped.</li></ul></div></div><div class="spec val" id="val-at"><a href="#val-at" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>at : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> float <span class="keyword">‑></span> f:(unit <span class="keyword">‑></span> <span class="type-var">_</span>) <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Create a future that evaluates to <code class="code">()</code> at the given Unix timestamp.</p><ul class="at-tag"><li><span class="at-tag raise">Raises</span> <span class="module-path">Stopped</span>: if the timer was stopped.</li></ul></div></div><div class="spec exception" id="exception-ExitEvery"><a href="#exception-ExitEvery" class="anchor"></a><div class="def exception"><code><span class="keyword">exception </span></code><code><span class="exception">ExitEvery</span></code></div><div class="doc"></div></div><div class="spec val" id="val-every"><a href="#val-every" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>every : ?⁠delay:float <span class="keyword">‑></span> <a href="index.html#type-t">t</a> <span class="keyword">‑></span> float <span class="keyword">‑></span> f:(unit <span class="keyword">‑></span> <span class="type-var">_</span>) <span class="keyword">‑></span> unit</code></div><div class="doc"><p><code class="code">every timer n ~f</code> calls <code class="code">f ()</code> every <code class="code">n</code> seconds.
|
|
<code class="code">f()</code> can raise ExitEvery to stop the cycle.</p><ul class="at-tag"><li><span class="at-tag parameter">Parameter</span> <span class="module-path">delay</span>: if provided, the first call to <code class="code">f ()</code> is delayed by
|
|
that many seconds.</li><li><span class="at-tag raise">Raises</span> <span class="module-path">Stopped</span>: if the timer was stopped.</li></ul></div></div><div class="spec val" id="val-stop"><a href="#val-stop" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>stop : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> unit</code></div><div class="doc"><p>Stop the given timer, cancelling pending tasks. Idempotent.
|
|
From now on, calling most other operations on the timer will raise Stopped.</p></div></div><div class="spec val" id="val-active"><a href="#val-active" class="anchor"></a><div class="def val"><code><span class="keyword">val </span>active : <a href="index.html#type-t">t</a> <span class="keyword">‑></span> bool</code></div><div class="doc"><p>Return <code class="code">true</code> until <code class="code">stop t</code> has been called.</p></div></div></body></html> |