mirror of
https://github.com/zap-proto/ocaml-rpc.git
synced 2026-11-02 16:33:35 +00:00
7 lines
5.6 KiB
HTML
7 lines
5.6 KiB
HTML
<!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> » <a href="../../index.html">Capnp_rpc_net</a> » <a href="../index.html">Restorer</a> » 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">-></span></span> <span><span>(<span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">-></span></span> <span class="xref-unresolved">Uri</span>.t)</span> <span class="arrow">-></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">-></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">-></span></span>
|
||
<span><span class="type-var">'loader</span> <span class="arrow">-></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">-></span></span> <span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">-></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">-></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">-></span></span> <span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">-></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">-></span></span> <span><a href="../Id/index.html#type-t">Id.t</a> <span class="arrow">-></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">-></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>
|