moonpool/lwt/Lwt_engine/class-abstract/index.html
2025-09-26 19:08:06 +00:00

9 lines
7.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>abstract (lwt.Lwt_engine.abstract)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> <a href="../../../index.html">Index</a> &#x00BB; <a href="../../index.html">lwt</a> &#x00BB; <a href="../index.html">Lwt_engine</a> &#x00BB; abstract</nav><header class="odoc-preamble"><h1>Class <code><span>Lwt_engine.abstract</span></code></h1><p>Abstract class for engines.</p></header><div class="odoc-tocs"><nav class="odoc-toc odoc-local-toc"><ul><li><a href="#event-loop-methods">Event loop methods</a></li><li><a href="#backend-methods">Backend methods</a></li></ul></nav></div><div class="odoc-content"><div class="odoc-spec"><div class="spec method anchored" id="method-destroy"><a href="#method-destroy" class="anchor"></a><code><span><span class="keyword">method</span> destroy : unit</span></code></div><div class="spec-doc"><p>Destroy the engine, remove all its events and free its associated resources.</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-transfer"><a href="#method-transfer" class="anchor"></a><code><span><span class="keyword">method</span> transfer : <span><a href="#">abstract</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>transfer engine</code> moves all events from the current engine to <code>engine</code>. Note that timers are reset in the destination engine, i.e. if a timer with a delay of 2 seconds was registered 1 second ago it will occur in 2 seconds in the destination engine.</p></div></div><h3 id="event-loop-methods"><a href="#event-loop-methods" class="anchor"></a>Event loop methods</h3><div class="odoc-spec"><div class="spec method anchored" id="method-iter"><a href="#method-iter" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">virtual</span> iter : <span>bool <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-fork"><a href="#method-fork" class="anchor"></a><code><span><span class="keyword">method</span> fork : unit</span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_readable"><a href="#method-on_readable" class="anchor"></a><code><span><span class="keyword">method</span> on_readable : <span><a href="../../../ocaml/Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><a href="../index.html#type-event">event</a> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> <a href="../index.html#type-event">event</a></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_writable"><a href="#method-on_writable" class="anchor"></a><code><span><span class="keyword">method</span> on_writable : <span><a href="../../../ocaml/Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><a href="../index.html#type-event">event</a> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> <a href="../index.html#type-event">event</a></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-on_timer"><a href="#method-on_timer" class="anchor"></a><code><span><span class="keyword">method</span> on_timer : <span>float <span class="arrow">&#45;&gt;</span></span> <span>bool <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><a href="../index.html#type-event">event</a> <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span> <a href="../index.html#type-event">event</a></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-fake_io"><a href="#method-fake_io" class="anchor"></a><code><span><span class="keyword">method</span> fake_io : <span><a href="../../../ocaml/Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-readable_count"><a href="#method-readable_count" class="anchor"></a><code><span><span class="keyword">method</span> readable_count : int</span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-writable_count"><a href="#method-writable_count" class="anchor"></a><code><span><span class="keyword">method</span> writable_count : int</span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-timer_count"><a href="#method-timer_count" class="anchor"></a><code><span><span class="keyword">method</span> timer_count : int</span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-forwards_signal"><a href="#method-forwards_signal" class="anchor"></a><code><span><span class="keyword">method</span> forwards_signal : <span>int <span class="arrow">&#45;&gt;</span></span> bool</span></code></div></div><h3 id="backend-methods"><a href="#backend-methods" class="anchor"></a>Backend methods</h3><p>Notes:</p><ul><li>the callback passed to register methods is of type <code>unit -&gt; unit</code> and not <code>event -&gt; unit</code></li><li>register methods return a lazy value which unregisters the event when forced</li></ul><div class="odoc-spec"><div class="spec method anchored" id="method-cleanup"><a href="#method-cleanup" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">private</span> <span class="keyword">virtual</span> cleanup : unit</span></code></div><div class="spec-doc"><p>Cleanup resources associated with the engine.</p></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-register_readable"><a href="#method-register_readable" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">private</span> <span class="keyword">virtual</span> register_readable : <span><a href="../../../ocaml/Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span>unit <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../../../ocaml/Stdlib/Lazy/index.html#type-t">Lazy.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-register_writable"><a href="#method-register_writable" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">private</span> <span class="keyword">virtual</span> register_writable : <span><a href="../../../ocaml/Unix/index.html#type-file_descr">Unix.file_descr</a> <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span>unit <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../../../ocaml/Stdlib/Lazy/index.html#type-t">Lazy.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec method anchored" id="method-register_timer"><a href="#method-register_timer" class="anchor"></a><code><span><span class="keyword">method</span> <span class="keyword">private</span> <span class="keyword">virtual</span> register_timer : <span>float <span class="arrow">&#45;&gt;</span></span>
<span>bool <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span>unit <span class="arrow">&#45;&gt;</span></span> unit)</span> <span class="arrow">&#45;&gt;</span></span>
<span>unit <a href="../../../ocaml/Stdlib/Lazy/index.html#type-t">Lazy.t</a></span></span></code></div></div></div></body></html>