Files

7 lines
5.6 KiB
HTML
Raw Permalink 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>Table (capnp-rpc-net.Capnp_rpc_net.Restorer.Table)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../../odoc.support/odoc.css"/><meta name="generator" content="odoc 2.4.4"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../odoc.support/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">capnp-rpc-net</a> &#x00BB; <a href="../../index.html">Capnp_rpc_net</a> &#x00BB; <a href="../index.html">Restorer</a> &#x00BB; Table</nav><header class="odoc-preamble"><h1>Module <code><span>Restorer.Table</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>A restorer that keeps a hashtable mapping IDs to capabilities in memory.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create : <span><span class="label">sw</span>:<span class="xref-unresolved">Eio</span>.Switch.t <span class="arrow">&#45;&gt;</span></span> <span><span>(<span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">&#45;&gt;</span></span> <span class="xref-unresolved">Uri</span>.t)</span> <span class="arrow">&#45;&gt;</span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>create ~sw make_sturdy</code> is a new in-memory-only table. <code>make_sturdy id</code> converts an ID to a full URI, by adding the hosting vat's address and fingerprint.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">sw</span> <p><a href="#val-clear"><code>clear</code></a> is called when <code>sw</code> is turned off.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_loader"><a href="#val-of_loader" class="anchor"></a><code><span><span class="keyword">val</span> of_loader :
<span><span class="label">sw</span>:<span class="xref-unresolved">Eio</span>.Switch.t <span class="arrow">&#45;&gt;</span></span>
<span><span>(<span class="keyword">module</span> <a href="../module-type-LOADER/index.html">LOADER</a> <span class="keyword">with</span> <span class="keyword">type</span> <a href="../module-type-LOADER/index.html#type-t">t</a> = <span class="type-var">'loader</span>)</span> <span class="arrow">&#45;&gt;</span></span>
<span><span class="type-var">'loader</span> <span class="arrow">&#45;&gt;</span></span>
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>of_loader ~sw (module Loader) l</code> is a new caching table that uses <code>Loader.load l sr (Loader.hash id)</code> to restore services that aren't in the cache.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">sw</span> <p>The <code>load</code> function runs in a new fiber in <code>sw</code>. <a href="#val-clear"><code>clear</code></a> is called when <code>sw</code> is turned off.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-add"><a href="#val-add" class="anchor"></a><code><span><span class="keyword">val</span> add : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span><span class="type-var">'a</span> <a href="../../../../capnp-rpc/Capnp_rpc/Capability/index.html#type-t">Capnp_rpc.Std.Capability.t</a></span> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>add t id cap</code> adds a mapping to <code>t</code>. It takes ownership of <code>cap</code> (it will call <code>Capability.dec_ref cap</code> on <code>clear</code>).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sturdy_ref"><a href="#val-sturdy_ref" class="anchor"></a><code><span><span class="keyword">val</span> sturdy_ref : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">&#45;&gt;</span></span> <span><span class="type-var">'a</span> <a href="../../../../capnp-rpc/Capnp_rpc/Sturdy_ref/index.html#type-t">Capnp_rpc.Std.Sturdy_ref.t</a></span></span></code></div><div class="spec-doc"><p><code>sturdy_ref t id</code> is a sturdy ref that can be used to restore service <code>id</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span><span class="keyword">val</span> remove : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> <span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>remove t id</code> removes <code>id</code> from <code>t</code>. It decrements the capability's ref count if it was added manually with <code>add</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-clear"><a href="#val-clear" class="anchor"></a><code><span><span class="keyword">val</span> clear : <span><a href="#type-t">t</a> <span class="arrow">&#45;&gt;</span></span> unit</span></code></div><div class="spec-doc"><p><code>clear t</code> removes all entries from the table.</p></div></div></div></body></html>