-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathFoundationDB-Layer-Directory-Internal-HCA.html
4 lines (4 loc) · 19.1 KB
/
FoundationDB-Layer-Directory-Internal-HCA.html
1
2
3
4
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>FoundationDB.Layer.Directory.Internal.HCA</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">foundationdb-haskell-0.1.0.0: FoundationDB C client bindings</span><ul class="links" id="page-menu"><li><a href="src/FoundationDB.Layer.Directory.Internal.HCA.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">FoundationDB.Layer.Directory.Internal.HCA</p></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><a href="#v:oneBytes">oneBytes</a> :: <a href="../bytestring-0.10.12.0/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:HCA">HCA</a> = <a href="#v:HCA">HCA</a> {<ul class="subs"><li><a href="#v:counters">counters</a> :: <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a></li><li><a href="#v:recent">recent</a> :: <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a></li></ul>}</li><li class="src short"><a href="#v:newHCA">newHCA</a> :: <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a></li><li class="src short"><a href="#v:windowSize">windowSize</a> :: <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a></li><li class="src short"><a href="#v:globalAllocateLock">globalAllocateLock</a> :: <a href="../base-4.14.1.0/Control-Concurrent-MVar.html#t:MVar" title="Control.Concurrent.MVar">MVar</a> ()</li><li class="src short"><a href="#v:withAllocLock">withAllocLock</a> :: <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> a -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> a</li><li class="src short"><a href="#v:findStartAndWindow">findStartAndWindow</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> (<a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a>, <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a>)</li><li class="src short"><a href="#v:findSubspaceLoop">findSubspaceLoop</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> (<a href="../base-4.14.1.0/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a>)</li><li class="src short"><a href="#v:initStart">initStart</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a></li><li class="src short"><a href="#v:allocate">allocate</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a></li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:oneBytes" class="def">oneBytes</a> :: <a href="../bytestring-0.10.12.0/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#oneBytes" class="link">Source</a> <a href="#v:oneBytes" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:HCA" class="def">HCA</a> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#HCA" class="link">Source</a> <a href="#t:HCA" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:HCA" class="def">HCA</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:counters" class="def">counters</a> :: <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:recent" class="def">recent</a> :: <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:HCA">Instances</h4><details id="i:HCA" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:HCA:Eq:1"></span> <a href="../base-4.14.1.0/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a></span> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#line-31" class="link">Source</a> <a href="#t:HCA" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:HCA:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FoundationDB-Layer-Directory-Internal-HCA.html">FoundationDB.Layer.Directory.Internal.HCA</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:HCA:Ord:2"></span> <a href="../base-4.14.1.0/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a></span> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#line-31" class="link">Source</a> <a href="#t:HCA" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:HCA:Ord:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FoundationDB-Layer-Directory-Internal-HCA.html">FoundationDB.Layer.Directory.Internal.HCA</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Ord.html#t:Ordering" title="Data.Ord">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:HCA:Show:3"></span> <a href="../base-4.14.1.0/Text-Show.html#t:Show" title="Text.Show">Show</a> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a></span> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#line-31" class="link">Source</a> <a href="#t:HCA" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:HCA:Show:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FoundationDB-Layer-Directory-Internal-HCA.html">FoundationDB.Layer.Directory.Internal.HCA</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-String.html#t:String" title="Data.String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a>] -> <a href="../base-4.14.1.0/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:newHCA" class="def">newHCA</a> :: <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a> -> <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#newHCA" class="link">Source</a> <a href="#v:newHCA" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:windowSize" class="def">windowSize</a> :: <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#windowSize" class="link">Source</a> <a href="#v:windowSize" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:globalAllocateLock" class="def">globalAllocateLock</a> :: <a href="../base-4.14.1.0/Control-Concurrent-MVar.html#t:MVar" title="Control.Concurrent.MVar">MVar</a> () <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#globalAllocateLock" class="link">Source</a> <a href="#v:globalAllocateLock" class="selflink">#</a></p><div class="doc"><p>global lock used for allocating. We use this simply because the other
clients have it. It appears to exist in order to reduce contention on the HCA
counter at the transaction level by pushing some of the contention to the
client level instead.</p></div></div><div class="top"><p class="src"><a id="v:withAllocLock" class="def">withAllocLock</a> :: <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> a -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> a <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#withAllocLock" class="link">Source</a> <a href="#v:withAllocLock" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findStartAndWindow" class="def">findStartAndWindow</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="../base-4.14.1.0/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> (<a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a>, <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a>) <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#findStartAndWindow" class="link">Source</a> <a href="#v:findStartAndWindow" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:findSubspaceLoop" class="def">findSubspaceLoop</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> (<a href="../base-4.14.1.0/Data-Maybe.html#t:Maybe" title="Data.Maybe">Maybe</a> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a>) <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#findSubspaceLoop" class="link">Source</a> <a href="#v:findSubspaceLoop" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:initStart" class="def">initStart</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> <a href="../base-4.14.1.0/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#initStart" class="link">Source</a> <a href="#v:initStart" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:allocate" class="def">allocate</a> :: <a href="FoundationDB-Layer-Directory-Internal-HCA.html#t:HCA" title="FoundationDB.Layer.Directory.Internal.HCA">HCA</a> -> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a> -> <a href="FoundationDB-Transaction.html#t:Transaction" title="FoundationDB.Transaction">Transaction</a> <a href="FoundationDB-Layer-Subspace.html#t:Subspace" title="FoundationDB.Layer.Subspace">Subspace</a> <a href="src/FoundationDB.Layer.Directory.Internal.HCA.html#allocate" class="link">Source</a> <a href="#v:allocate" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.24.0</p></div></body></html>