mirror of
https://github.com/zap-proto/ocaml-rpc.git
synced 2026-11-03 13:11:00 +00:00
20 lines
9.6 KiB
HTML
20 lines
9.6 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Capnp_rpc_unix (capnp-rpc-unix.Capnp_rpc_unix)</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-unix</a> » Capnp_rpc_unix</nav><header class="odoc-preamble"><h1>Module <code><span>Capnp_rpc_unix</span></code></h1><p>Helpers for using <a href="../../capnp-rpc/Capnp_rpc/index.html"><code>Capnp_rpc</code></a> on traditional operating systems.</p></header><div class="odoc-content"><div class="odoc-include"><details open="open"><summary class="spec include"><code><span><span class="keyword">include</span> <a href="../../capnp-rpc-net/Capnp_rpc_net/module-type-VAT_NETWORK/index.html">Capnp_rpc_net.VAT_NETWORK</a> <span class="keyword">with</span> <span><span class="keyword">module</span> <a href="../../capnp-rpc-net/Capnp_rpc_net/module-type-VAT_NETWORK/Network/index.html">Network</a> = <a href="Network/index.html">Network</a></span></span></code></summary><div class="odoc-spec"><div class="spec module anchored" id="module-Network"><a href="#module-Network" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Network/index.html">Network</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>A network using TCP and Unix-domain sockets.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-CapTP"><a href="#module-CapTP" class="anchor"></a><code><span><span class="keyword">module</span> <a href="CapTP/index.html">CapTP</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Sharing capabilities over a network link.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Vat"><a href="#module-Vat" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Vat/index.html">Vat</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>A Vat is an actor in the CapTP network, composed of objects that can call each other directly.</p></div></div></details></div><div class="odoc-spec"><div class="spec module anchored" id="module-Vat_config"><a href="#module-Vat_config" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Vat_config/index.html">Vat_config</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Configuration for a <a href="Vat/index.html"><code>Vat</code></a>.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-File_store"><a href="#module-File_store" class="anchor"></a><code><span><span class="keyword">module</span> <a href="File_store/index.html">File_store</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>An on-disk store for saved services.</p></div></div><div class="odoc-spec"><div class="spec module anchored" id="module-Cap_file"><a href="#module-Cap_file" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Cap_file/index.html">Cap_file</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Utilities for capability files.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sturdy_uri"><a href="#val-sturdy_uri" class="anchor"></a><code><span><span class="keyword">val</span> sturdy_uri : <span><span class="xref-unresolved">Uri</span>.t <span class="xref-unresolved">Cmdliner</span>.Arg.conv</span></span></code></div><div class="spec-doc"><p>A cmdliner argument converter for a "capnp://" URI (or the path of a file containing such a URI).</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-connect_with_progress"><a href="#val-connect_with_progress" class="anchor"></a><code><span><span class="keyword">val</span> connect_with_progress :
|
||
<span><span class="optlabel">?mode</span>:<span>[ `Auto <span>| `Log</span> <span>| `Batch</span> <span>| `Console</span> <span>| `Silent</span> ]</span> <span class="arrow">-></span></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 class="arrow">-></span></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>, <a href="../../capnp-rpc/Capnp_rpc_proto/Exception/index.html#type-t">Capnp_rpc.Exception.t</a>)</span> <span class="xref-unresolved">Stdlib</span>.result</span></span></code></div><div class="spec-doc"><p><code>connect_with_progress sr</code> is like <code>Sturdy_ref.connect</code>, but shows that a connection is in progress. Note: On failure, it does <em>not</em> display the error, which should instead be handled by the caller.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>Controls how progress is displayed:</p><ul><li><code>`Log</code> writes info-level log messages about starting and completing the connection.</li><li><code>`Batch</code> prints a message to stderr when starting, then prints OK when done.</li><li><code>`Console</code> displays a message while connecting if it takes too long, then erases it when done.</li><li><code>`Silent</code> does nothing.</li><li><code>`Auto</code> (the default) tries to log (as for <code>`Log</code>), but if the log message isn't used then it behaves as <code>`Console</code> (if stderr is a tty) or as <code>`Batch</code> (if not).</li></ul></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_cap_exn"><a href="#val-with_cap_exn" class="anchor"></a><code><span><span class="keyword">val</span> with_cap_exn :
|
||
<span><span class="optlabel">?progress</span>:<span>[ `Auto <span>| `Log</span> <span>| `Batch</span> <span>| `Console</span> <span>| `Silent</span> ]</span> <span class="arrow">-></span></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 class="arrow">-></span></span>
|
||
<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> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span>
|
||
<span class="type-var">'b</span></span></code></div><div class="spec-doc"><p>Like <code>Sturdy_ref.with_cap_exn</code>, but using <code>connect_with_progress</code> to show progress.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-serve"><a href="#val-serve" class="anchor"></a><code><span><span class="keyword">val</span> serve :
|
||
<span><span class="optlabel">?tags</span>:<span class="xref-unresolved">Logs</span>.Tag.set <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?restore</span>:<a href="../../capnp-rpc-net/Capnp_rpc_net/Restorer/index.html#type-t">Capnp_rpc_net.Restorer.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">sw</span>:<span class="xref-unresolved">Eio</span>.Switch.t <span class="arrow">-></span></span>
|
||
<span><a href="Vat_config/index.html#type-t">Vat_config.t</a> <span class="arrow">-></span></span>
|
||
<a href="Vat/index.html#type-t">Vat.t</a></span></code></div><div class="spec-doc"><p><code>serve ~restore ~sw vat_config</code> is a new vat that is listening for new connections as specified by <code>vat_config</code>. After connecting to it, clients can get access to services using <code>restore</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-client_only_vat"><a href="#val-client_only_vat" class="anchor"></a><code><span><span class="keyword">val</span> client_only_vat :
|
||
<span><span class="optlabel">?tags</span>:<span class="xref-unresolved">Logs</span>.Tag.set <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?restore</span>:<a href="../../capnp-rpc-net/Capnp_rpc_net/Restorer/index.html#type-t">Capnp_rpc_net.Restorer.t</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">sw</span>:<span class="xref-unresolved">Eio</span>.Switch.t <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">_</span> <span class="xref-unresolved">Eio</span>.Net.t</span> <span class="arrow">-></span></span>
|
||
<a href="Vat/index.html#type-t">Vat.t</a></span></code></div><div class="spec-doc"><p><code>client_only_vat net</code> is a new vat that does not listen for incoming connections.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-manpage_capnp_options"><a href="#val-manpage_capnp_options" class="anchor"></a><code><span><span class="keyword">val</span> manpage_capnp_options : string</span></code></div><div class="spec-doc"><p><code>manpage_capnp_options</code> is the title of the section of the man-page containing the Cap'n Proto options. This can be used to control where these options appear in the page (e.g. to put them below the other options).</p></div></div></div></body></html>
|