mirror of
https://github.com/zap-proto/ocaml-rpc.git
synced 2026-11-02 16:33:35 +00:00
3 lines
5.5 KiB
HTML
3 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>RC (capnp-rpc.Capnp_rpc_proto.RC)</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</a> » <a href="../index.html">Capnp_rpc_proto</a> » RC</nav><header class="odoc-preamble"><h1>Module <code><span>Capnp_rpc_proto.RC</span></code></h1><p>A ref-count type that raises an exception on overflow.</p></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 number used as a reference count.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-zero"><a href="#val-zero" class="anchor"></a><code><span><span class="keyword">val</span> zero : <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-one"><a href="#val-one" class="anchor"></a><code><span><span class="keyword">val</span> one : <a href="#type-t">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-leaked"><a href="#val-leaked" class="anchor"></a><code><span><span class="keyword">val</span> leaked : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>leaked</code> is used to represent a ref-count that is invalid because we detected a GC leak.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-sum"><a href="#val-sum" class="anchor"></a><code><span><span class="keyword">val</span> sum : <span><span class="label">pp</span>:<span>(<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>sum ~pp t d</code> is <code>t + d</code>. Raises an exception (including <code>pp</code>) if this would overflow or become negative, or if <code>t</code> is <code>zero</code> or <code>leaked</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-succ"><a href="#val-succ" class="anchor"></a><code><span><span class="keyword">val</span> succ : <span><span class="label">pp</span>:<span>(<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>succ ~pp t</code> is <code>add ~pp t 1</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pred"><a href="#val-pred" class="anchor"></a><code><span><span class="keyword">val</span> pred : <span><span class="label">pp</span>:<span>(<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p><code>pred ~pp t</code> is <code>add ~pp t (-1)</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-is_zero"><a href="#val-is_zero" class="anchor"></a><code><span><span class="keyword">val</span> is_zero : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p><code>is_zero t</code> is <code>true</code> if the ref-count is zero (the resource should be released). <code>is_zero leaked = false</code>, since whatever detected the leak should free it.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><a href="#type-t">t</a> <span class="xref-unresolved">Fmt</span>.t</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-check"><a href="#val-check" class="anchor"></a><code><span><span class="keyword">val</span> check : <span><span class="label">pp</span>:<span>(<span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>check ~pp t</code> raises an exception (including <code>pp</code>) if <code>t</code> is zero or leaked. Useful in sanity checks.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_int"><a href="#val-to_int" class="anchor"></a><code><span><span class="keyword">val</span> to_int : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span>int option</span></span></code></div><div class="spec-doc"><p><code>to_int t</code> is the non-negative integer ref-count, or <code>None</code> if <code>t = leaked</code>.</p></div></div></div></body></html>
|