mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-21 11:35:53 +00:00
948 lines
199 KiB
HTML
948 lines
199 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.9.8"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>rippled: SHAMap.h Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">rippled
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.8 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function() { init_codefold(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_0103a8ad82dcc2c51f5cde661b4b5cb7.html">xrpl</a></li><li class="navelem"><a class="el" href="dir_292da32077129148230df7f03daa34af.html">shamap</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="headertitle"><div class="title">SHAMap.h</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef XRPL_SHAMAP_SHAMAP_H_INCLUDED</span></div>
|
|
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define XRPL_SHAMAP_SHAMAP_H_INCLUDED</span></div>
|
|
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
|
|
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include <xrpl/basics/IntrusivePointer.h></span></div>
|
|
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include <xrpl/basics/UnorderedContainers.h></span></div>
|
|
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include <xrpl/beast/utility/Journal.h></span></div>
|
|
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include <xrpl/beast/utility/instrumentation.h></span></div>
|
|
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include <xrpl/nodestore/Database.h></span></div>
|
|
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include <xrpl/nodestore/NodeObject.h></span></div>
|
|
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include <xrpl/shamap/Family.h></span></div>
|
|
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include <xrpl/shamap/SHAMapAddNode.h></span></div>
|
|
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include <xrpl/shamap/SHAMapInnerNode.h></span></div>
|
|
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include <xrpl/shamap/SHAMapItem.h></span></div>
|
|
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include <xrpl/shamap/SHAMapLeafNode.h></span></div>
|
|
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include <xrpl/shamap/SHAMapMissingNode.h></span></div>
|
|
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include <xrpl/shamap/SHAMapTreeNode.h></span></div>
|
|
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
|
|
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/set.html">set</a>></span></div>
|
|
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/stack.html">stack</a>></span></div>
|
|
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include <<a class="codeRef" href="http://en.cppreference.com/w/cpp/header/vector.html">vector</a>></span></div>
|
|
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
|
|
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceripple.html">ripple</a> {</div>
|
|
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
|
|
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">class </span>SHAMapNodeID;</div>
|
|
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">class </span>SHAMapSyncFilter;</div>
|
|
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
|
|
<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77"> 28</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77">SHAMapState</a> {</div>
|
|
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a9361bbf1ba577c105067533413bcfaea">Modifying</a> = 0,</div>
|
|
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
|
|
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a11efd9ae6f76e706e3f1b34d97584ebc">Immutable</a> = 1,</div>
|
|
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
|
|
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a508354801fa1ec5fe0d75f1bdaa4d07f">Synching</a> = 2,</div>
|
|
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
|
|
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a4bbb8f967da6d1a610596d7257179c2b">Invalid</a> = 3,</div>
|
|
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>};</div>
|
|
</div>
|
|
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
|
|
<div class="foldopen" id="foldopen00077" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html"> 77</a></span><span class="keyword">class </span><a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a></div>
|
|
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>{</div>
|
|
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="keyword">private</span>:</div>
|
|
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a5268c936212da93659dd05be9304e0bb"> 80</a></span> <a class="code hl_class" href="classripple_1_1Family.html">Family</a>& <a class="code hl_variable" href="classripple_1_1SHAMap.html#a5268c936212da93659dd05be9304e0bb">f_</a>;</div>
|
|
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a149dff8600718cccd0d5b9e7af9d3c79"> 81</a></span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a149dff8600718cccd0d5b9e7af9d3c79">journal_</a>;</div>
|
|
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
|
|
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a9ab1e2b9e495808a7e7b7ce4483460a0"> 84</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a9ab1e2b9e495808a7e7b7ce4483460a0">cowid_</a> = 1;</div>
|
|
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
|
|
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#acbedaf0be7acd2816e01be821fdc4697"> 87</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_variable" href="classripple_1_1SHAMap.html#acbedaf0be7acd2816e01be821fdc4697">ledgerSeq_</a> = 0;</div>
|
|
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
|
|
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a2ef0103bef7aefba0219c40368fd3688"> 89</a></span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a2ef0103bef7aefba0219c40368fd3688">root_</a>;</div>
|
|
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183"> 90</a></span> <span class="keyword">mutable</span> <a class="code hl_enumeration" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77">SHAMapState</a> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">state_</a>;</div>
|
|
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a4a8daed34105ce8548d63d44bbf74f04"> 91</a></span> <a class="code hl_enumeration" href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3c">SHAMapType</a> <span class="keyword">const</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a4a8daed34105ce8548d63d44bbf74f04">type_</a>;</div>
|
|
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a0b1d68d0723680664e14401c86625b9f"> 92</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a0b1d68d0723680664e14401c86625b9f">backed_</a> = <span class="keyword">true</span>; <span class="comment">// Map is backed by the database</span></div>
|
|
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a51a31962c123b075983f235fbf2ae5c6"> 93</a></span> <span class="keyword">mutable</span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a51a31962c123b075983f235fbf2ae5c6">full_</a> = <span class="keyword">false</span>; <span class="comment">// Map is believed complete in database</span></div>
|
|
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
|
|
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="keyword">public</span>:</div>
|
|
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#af8599964238eb94d795606f220654db9"> 98</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#af8599964238eb94d795606f220654db9">branchFactor</a> =</div>
|
|
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_variable" href="classripple_1_1SHAMapInnerNode.html#a42a7132ff24a6edf8ca1e022f61826d9">SHAMapInnerNode::branchFactor</a>;</div>
|
|
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
|
|
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a16961b82bb1c661845b14c88b4e80dc3"> 102</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keyword">constexpr</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a16961b82bb1c661845b14c88b4e80dc3">leafDepth</a> = 64;</div>
|
|
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> </div>
|
|
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a677bfcf04f1bbe289bd57b717584e11a"> 104</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">DeltaItem</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a><</div>
|
|
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> boost::intrusive_ptr<SHAMapItem const>,</div>
|
|
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> boost::intrusive_ptr<SHAMapItem const>>;</div>
|
|
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a293ffbfa7725569d411130013728c8cd"> 107</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/map.html">Delta</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<uint256, DeltaItem></a>;</div>
|
|
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
|
|
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#aa021481769cad215f208aacb1c37e28a"> 109</a></span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa021481769cad215f208aacb1c37e28a">SHAMap</a>() = <span class="keyword">delete</span>;</div>
|
|
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#ac12fd99d7dee738a86015218f6e48433"> 110</a></span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ac12fd99d7dee738a86015218f6e48433">SHAMap</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div>
|
|
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a>&</div>
|
|
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#abed452f4a2d8495e60dfcfc3473ceb7d"> 112</a></span> <a class="code hl_function" href="classripple_1_1SHAMap.html#abed452f4a2d8495e60dfcfc3473ceb7d">operator=</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div>
|
|
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
|
|
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// Take a snapshot of the given map:</span></div>
|
|
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa021481769cad215f208aacb1c37e28a">SHAMap</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>& other, <span class="keywordtype">bool</span> isMutable);</div>
|
|
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
|
|
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// build new map</span></div>
|
|
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa021481769cad215f208aacb1c37e28a">SHAMap</a>(<a class="code hl_enumeration" href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3c">SHAMapType</a> t, <a class="code hl_class" href="classripple_1_1Family.html">Family</a>& f);</div>
|
|
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
|
|
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa021481769cad215f208aacb1c37e28a">SHAMap</a>(<a class="code hl_enumeration" href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3c">SHAMapType</a> t, <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& hash, <a class="code hl_class" href="classripple_1_1Family.html">Family</a>& f);</div>
|
|
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
|
|
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a93552723ee0f47af4d6bb78115308fb1"> 122</a></span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a93552723ee0f47af4d6bb78115308fb1">~SHAMap</a>() = <span class="keywordflow">default</span>;</div>
|
|
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
|
|
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_class" href="classripple_1_1Family.html">Family</a> <span class="keyword">const</span>&</div>
|
|
<div class="foldopen" id="foldopen00125" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a522656d6ede458746a7acee4732fea70"> 125</a></span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a522656d6ede458746a7acee4732fea70">family</a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="keyword"> </span>{</div>
|
|
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a5268c936212da93659dd05be9304e0bb">f_</a>;</div>
|
|
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
|
|
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <a class="code hl_class" href="classripple_1_1Family.html">Family</a>&</div>
|
|
<div class="foldopen" id="foldopen00131" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a00d827a2dea5d29f8d2adcc35fd77868"> 131</a></span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a00d827a2dea5d29f8d2adcc35fd77868">family</a>()</div>
|
|
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> {</div>
|
|
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a5268c936212da93659dd05be9304e0bb">f_</a>;</div>
|
|
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
|
|
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
|
|
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
|
|
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1Dir_1_1const__iterator.html">const_iterator</a>;</div>
|
|
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
|
|
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_class" href="classripple_1_1Dir_1_1const__iterator.html">const_iterator</a></div>
|
|
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ac18383f9dc9dbb7e4bfaadbb55cfb4d2">begin</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <a class="code hl_class" href="classripple_1_1Dir_1_1const__iterator.html">const_iterator</a></div>
|
|
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a71caeac6f4a3bce67cc8476a440509c1">end</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> </div>
|
|
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
|
|
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
|
|
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="comment">// Returns a new map that's a snapshot of this one.</span></div>
|
|
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// Handles copy on write for mutable snapshots.</span></div>
|
|
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SHAMap></a></div>
|
|
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ae3639927ea223b4352d9cfe060827944">snapShot</a>(<span class="keywordtype">bool</span> isMutable) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
|
|
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="comment">/* Mark this SHAMap as "should be full", indicating</span></div>
|
|
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment"> that the local server wants all the corresponding nodes</span></div>
|
|
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="comment"> in durable storage.</span></div>
|
|
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span><span class="comment"> */</span></div>
|
|
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a8d7a950162ef12667903e34175a9316f">setFull</a>();</div>
|
|
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
|
|
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a69277b2085232dc4bde1cd6eda4f0791">setLedgerSeq</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> lseq);</div>
|
|
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
|
|
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ad530edc60b33c2eb590d2be1cb12f2de">fetchRoot</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash, <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter);</div>
|
|
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
|
|
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="comment">// normal hash access functions</span></div>
|
|
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
|
|
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a0a9bf789b31096bb8938b6fc93bac625">hasItem</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
|
|
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ad34b4b3f4c26154a0ad8e63ada075f88">delItem</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>);</div>
|
|
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
|
|
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a754474c80816f12e58e87114709ebbcf">addItem</a>(<a class="code hl_enumeration" href="namespaceripple.html#ae0356b1de00f841c554c830be509dd58">SHAMapNodeType</a> type, boost::intrusive_ptr<SHAMapItem const> item);</div>
|
|
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
|
|
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a></div>
|
|
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a9b0dff3c3bf35efc30104c93becdc079">getHash</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
|
|
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="comment">// save a copy if you have a temporary anyway</span></div>
|
|
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa31380dfc8ad4bc15dfdba337c67d136">updateGiveItem</a>(</div>
|
|
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <a class="code hl_enumeration" href="namespaceripple.html#ae0356b1de00f841c554c830be509dd58">SHAMapNodeType</a> type,</div>
|
|
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> boost::intrusive_ptr<SHAMapItem const> item);</div>
|
|
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
|
|
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a569baa82267b09d725839feafe6eedc0">addGiveItem</a>(</div>
|
|
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_enumeration" href="namespaceripple.html#ae0356b1de00f841c554c830be509dd58">SHAMapNodeType</a> type,</div>
|
|
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> boost::intrusive_ptr<SHAMapItem const> item);</div>
|
|
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
|
|
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="comment">// Save a copy if you need to extend the life</span></div>
|
|
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="comment">// of the SHAMapItem beyond this SHAMap</span></div>
|
|
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> boost::intrusive_ptr<SHAMapItem const> <span class="keyword">const</span>&</div>
|
|
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a381ecaa70bcce3f24bac35b7fed16985">peekItem</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> boost::intrusive_ptr<SHAMapItem const> <span class="keyword">const</span>&</div>
|
|
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a381ecaa70bcce3f24bac35b7fed16985">peekItem</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>, <a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a>& hash) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
|
|
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="comment">// traverse functions</span></div>
|
|
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <a class="code hl_class" href="classripple_1_1Dir_1_1const__iterator.html">const_iterator</a></div>
|
|
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a83efcf0959f82f436e05b9b138a58efc">upper_bound</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> </div>
|
|
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <a class="code hl_class" href="classripple_1_1Dir_1_1const__iterator.html">const_iterator</a></div>
|
|
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ada99838217423830f916a2e194023fd9">lower_bound</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
|
|
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ab1253302364db2ba0314e437075ef9d4">visitNodes</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">bool</span>(<a class="code hl_class" href="classripple_1_1SHAMapTreeNode.html">SHAMapTreeNode</a>&)> <span class="keyword">const</span>& function) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> </div>
|
|
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#adb124506e012e85f807355a5a58c0ce7">visitDifferences</a>(</div>
|
|
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* have,</div>
|
|
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">bool</span>(<a class="code hl_class" href="classripple_1_1SHAMapTreeNode.html">SHAMapTreeNode</a> <span class="keyword">const</span>&)> <span class="keyword">const</span>&) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
|
|
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#adb6fc2f28765c0df0c93065d52a3a988">visitLeaves</a>(</div>
|
|
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><</div>
|
|
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keywordtype">void</span>(boost::intrusive_ptr<SHAMapItem const> <span class="keyword">const</span>&)> <span class="keyword">const</span>&) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
|
|
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// comparison/sync functions</span></div>
|
|
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
|
|
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::pair<SHAMapNodeID, uint256></a>></div>
|
|
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa5a110117bc3ae3de8a49ba06c21fa04">getMissingNodes</a>(<span class="keywordtype">int</span> maxNodes, <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter);</div>
|
|
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
|
|
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a55538cab9a46adb5c5acb39616439ef4">getNodeFat</a>(</div>
|
|
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a> <span class="keyword">const</span>& wanted,</div>
|
|
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<SHAMapNodeID, Blob></a>>& data,</div>
|
|
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keywordtype">bool</span> fatLeaves,</div>
|
|
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> depth) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
|
|
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<std::vector<Blob></a>></div>
|
|
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#afcf889076d5459b52eb9eb8248344f5c">getProofPath</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
|
|
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="keyword">static</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#af382ac10dccf3f4b82c64548cd05a677">verifyProofPath</a>(</div>
|
|
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& rootHash,</div>
|
|
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& key,</div>
|
|
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<Blob></a> <span class="keyword">const</span>& path);</div>
|
|
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> </div>
|
|
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a73d3eb716abe882fd5ea183d6d13a7e3">serializeRoot</a>(<a class="code hl_class" href="classripple_1_1Serializer.html">Serializer</a>& s) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> </div>
|
|
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> <a class="code hl_class" href="classripple_1_1SHAMapAddNode.html">SHAMapAddNode</a></div>
|
|
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a64ade0336e5125b3ae011da2a97a453d">addRootNode</a>(</div>
|
|
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash,</div>
|
|
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a> <span class="keyword">const</span>& rootNode,</div>
|
|
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter);</div>
|
|
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <a class="code hl_class" href="classripple_1_1SHAMapAddNode.html">SHAMapAddNode</a></div>
|
|
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a5c78c5b45614fa7b5f7ecebbc7185944">addKnownNode</a>(</div>
|
|
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a> <span class="keyword">const</span>& nodeID,</div>
|
|
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <a class="code hl_class" href="classripple_1_1Slice.html">Slice</a> <span class="keyword">const</span>& rawNode,</div>
|
|
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter);</div>
|
|
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> </div>
|
|
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="comment">// status functions</span></div>
|
|
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a5c233c58f744565df9d65b6189e42741">setImmutable</a>();</div>
|
|
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a4c50953c5e1c720f925deca920e8aa64">isSynching</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ac947f8afc3f3327f2ccef35be5e6f419">setSynching</a>();</div>
|
|
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a5ae13bc823d7e3cbdc4d784a04f29edb">clearSynching</a>();</div>
|
|
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa36f13285448ce66cdc04a0b7f4d8af7">isValid</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> </div>
|
|
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="comment">// caution: otherMap must be accessed only by this function</span></div>
|
|
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// return value: true=successfully completed, false=too different</span></div>
|
|
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> compare(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>& otherMap, <a class="code hl_typedef" href="classripple_1_1SHAMap.html#a293ffbfa7725569d411130013728c8cd">Delta</a>& differences, <span class="keywordtype">int</span> maxCount) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> </div>
|
|
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keywordtype">int</span></div>
|
|
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aee5ccc6cf9fa63aa25765227007893fb">unshare</a>();</div>
|
|
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div>
|
|
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">int</span></div>
|
|
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ae6fddc16c43b58e725afde738f4a70a8">flushDirty</a>(<a class="code hl_enumeration" href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3">NodeObjectType</a> t);</div>
|
|
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> </div>
|
|
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a9f99fac6b2778d1c82353fe773e3b436">walkMap</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<SHAMapMissingNode></a>& missingNodes, <span class="keywordtype">int</span> maxMissing) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa0fcb9d89a9f72e549c92cd38b92561b">walkMapParallel</a>(</div>
|
|
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<SHAMapMissingNode></a>& missingNodes,</div>
|
|
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">int</span> maxMissing) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#af0792d9d5d0e62b966754dcdee79e1ea">deepCompare</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a>& other) <span class="keyword">const</span>; <span class="comment">// Intended for debug/test only</span></div>
|
|
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> </div>
|
|
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a1ed29ee54ce6ce9301384b96f821e636">setUnbacked</a>();</div>
|
|
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
|
|
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a16c47b967da5fd093f51e7331f42c9b6">dump</a>(<span class="keywordtype">bool</span> withHashes = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a721b11739ad539851737443deeccf96b">invariants</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
|
|
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="keyword">private</span>:</div>
|
|
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a0a232e06d8dc86134b1eb05183b5c83a"> 351</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">std::stack</a><</div>
|
|
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<intr_ptr::SharedPtr<SHAMapTreeNode></a>, <a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a>>>;</div>
|
|
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a48dad6728c6fc737381f1cf4040d85ab"> 353</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">DeltaRef</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a><</div>
|
|
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> boost::intrusive_ptr<SHAMapItem const>,</div>
|
|
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> boost::intrusive_ptr<SHAMapItem const>>;</div>
|
|
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> </div>
|
|
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="comment">// tree node cache operations</span></div>
|
|
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a0b9ca468990bab71ad6eab794f812453">cacheLookup</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> </div>
|
|
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a5e0309dab2d67386ce24c8b80ff085d3">canonicalize</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash, <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a>&)</div>
|
|
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> </div>
|
|
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="comment">// database operations</span></div>
|
|
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aba74c54fa2d3bd6693e34c8c3666b0d2">fetchNodeFromDB</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a928dfcab8a0f6418364a77d80f51d2db">fetchNodeNT</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a928dfcab8a0f6418364a77d80f51d2db">fetchNodeNT</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash, <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aaa27ab91ea652451c34d80bd49a77dc4">fetchNode</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aeefbe6856af92905c637372457446927">checkFilter</a>(<a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash, <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
|
|
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa24aaf2a36a562e659c918f4ca71e449">dirtyUp</a>(</div>
|
|
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>& stack,</div>
|
|
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& target,</div>
|
|
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a> terminal);</div>
|
|
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> </div>
|
|
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <a class="code hl_class" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a>*</div>
|
|
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a57c9afd6af077bbca5efc4ee640c7a2d">walkTowardsKey</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>* stack = <span class="keyword">nullptr</span>)</div>
|
|
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <a class="code hl_class" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a>*</div>
|
|
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#af6a56124ffdd304fb80e45c9b8ae7e62">findKey</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
|
|
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> <span class="keyword">template</span> <<span class="keyword">class</span> Node></div>
|
|
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<Node></a></div>
|
|
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a10defa04c5990ae227297f869a99b691">unshareNode</a>(<a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<Node></a>, <a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a> <span class="keyword">const</span>& nodeID);</div>
|
|
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> </div>
|
|
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <span class="keyword">template</span> <<span class="keyword">class</span> Node></div>
|
|
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<Node></a></div>
|
|
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a00b1a7221325e220eb1cd78d29af60a6">preFlushNode</a>(<a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<Node></a> node) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> </div>
|
|
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a8c0d4938e4e75cabe03cdc64aaa2e7f2">writeNode</a>(<a class="code hl_enumeration" href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3">NodeObjectType</a> t, <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a> node) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> </div>
|
|
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="comment">// returns the first item at or below this node</span></div>
|
|
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <a class="code hl_class" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a>*</div>
|
|
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#affd46314b2492a399d8310e991599731">firstBelow</a>(</div>
|
|
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a>,</div>
|
|
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>& stack,</div>
|
|
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <span class="keywordtype">int</span> branch = 0) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
|
|
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="comment">// returns the last item at or below this node</span></div>
|
|
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> <a class="code hl_class" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a>*</div>
|
|
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#adeb87f388897ca07dfc7b3073edcb3f9">lastBelow</a>(</div>
|
|
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a> node,</div>
|
|
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>& stack,</div>
|
|
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordtype">int</span> branch = <a class="code hl_variable" href="classripple_1_1SHAMap.html#af8599964238eb94d795606f220654db9">branchFactor</a>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> </div>
|
|
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="comment">// helper function for firstBelow and lastBelow</span></div>
|
|
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <a class="code hl_class" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a>*</div>
|
|
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#af4163b9fee79d216cfe6140fdac2e52f">belowHelper</a>(</div>
|
|
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a> node,</div>
|
|
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>& stack,</div>
|
|
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordtype">int</span> branch,</div>
|
|
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple</a><</div>
|
|
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keywordtype">int</span>,</div>
|
|
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">bool</span>(<span class="keywordtype">int</span>)>,</div>
|
|
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><<span class="keywordtype">void</span>(<span class="keywordtype">int</span>&)>> <span class="keyword">const</span>& loopParams) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> </div>
|
|
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="comment">// Simple descent</span></div>
|
|
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> <span class="comment">// Get a child of the specified node</span></div>
|
|
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> <a class="code hl_class" href="classripple_1_1SHAMapTreeNode.html">SHAMapTreeNode</a>*</div>
|
|
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a586781012c019333e8286bf824310fd2">descend</a>(<a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>*, <span class="keywordtype">int</span> branch) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> <a class="code hl_class" href="classripple_1_1SHAMapTreeNode.html">SHAMapTreeNode</a>*</div>
|
|
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a26f587d4b772fd02113deb67ff052e20">descendThrow</a>(<a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>*, <span class="keywordtype">int</span> branch) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a586781012c019333e8286bf824310fd2">descend</a>(<a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>&, <span class="keywordtype">int</span> branch) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a26f587d4b772fd02113deb67ff052e20">descendThrow</a>(<a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>&, <span class="keywordtype">int</span> branch) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> </div>
|
|
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <span class="comment">// Descend with filter</span></div>
|
|
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="comment">// If pending, callback is called as if it called fetchNodeNT</span></div>
|
|
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#ad557d84c9f39ff04cf7cfd8a45019549"> 446</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">descendCallback</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a><</div>
|
|
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> void(<a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a>, <a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>&)>;</div>
|
|
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> <a class="code hl_class" href="classripple_1_1SHAMapTreeNode.html">SHAMapTreeNode</a>*</div>
|
|
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a07ce8e5379558b4c0e256cbbf2636cb7">descendAsync</a>(</div>
|
|
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>* parent,</div>
|
|
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="keywordtype">int</span> branch,</div>
|
|
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter,</div>
|
|
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> <span class="keywordtype">bool</span>& <a class="code hl_enumvalue" href="namespaceripple.html#a6eaff79c38106bc3b27326d878c902d3a7c6c2e5d48ab37a007cbf70d3ea25fa4">pending</a>,</div>
|
|
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">descendCallback</a>&&) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> </div>
|
|
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<SHAMapTreeNode*, SHAMapNodeID></a></div>
|
|
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a586781012c019333e8286bf824310fd2">descend</a>(</div>
|
|
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> <a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>* parent,</div>
|
|
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a> <span class="keyword">const</span>& parentID,</div>
|
|
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="keywordtype">int</span> branch,</div>
|
|
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> </div>
|
|
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <span class="comment">// Non-storing</span></div>
|
|
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <span class="comment">// Does not hook the returned node to its parent</span></div>
|
|
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ac5fd4779ce479a1a40f23e738c1a026d">descendNoStore</a>(<a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>&, <span class="keywordtype">int</span> branch) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> </div>
|
|
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> boost::intrusive_ptr<SHAMapItem const> <span class="keyword">const</span>&</div>
|
|
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a22ad95f58ebb1e05d06a4aac48329625">onlyBelow</a>(<a class="code hl_class" href="classripple_1_1SHAMapTreeNode.html">SHAMapTreeNode</a>*) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> </div>
|
|
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a8a20e910f929701bee2a43d408dd7afa">hasInnerNode</a>(<a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a> <span class="keyword">const</span>& nodeID, <a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ab1c8e6f8066b79c3d025e6609e20918e">hasLeafNode</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& tag, <a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
|
|
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <a class="code hl_class" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a> <span class="keyword">const</span>*</div>
|
|
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#aa349ff193020caf2178e28ef6392e675">peekFirstItem</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>& stack) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <a class="code hl_class" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a> <span class="keyword">const</span>*</div>
|
|
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a5902b212b3da87e522eef58c6c0c83e9">peekNextItem</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& <span class="keywordtype">id</span>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>& stack) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#ae278ac777321e41b9b7b1614e28675e2">walkBranch</a>(</div>
|
|
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> <a class="code hl_class" href="classripple_1_1SHAMapTreeNode.html">SHAMapTreeNode</a>* node,</div>
|
|
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> boost::intrusive_ptr<SHAMapItem const> <span class="keyword">const</span>& otherMapItem,</div>
|
|
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">bool</span> isFirstMap,</div>
|
|
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/map.html">Delta</a>& differences,</div>
|
|
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <span class="keywordtype">int</span>& maxCount) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">int</span></div>
|
|
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a64d84916fb3113b9c855dbdad85cc0c2">walkSubTree</a>(<span class="keywordtype">bool</span> doWrite, <a class="code hl_enumeration" href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3">NodeObjectType</a> t);</div>
|
|
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> </div>
|
|
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> <span class="comment">// Structure to track information about call to</span></div>
|
|
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <span class="comment">// getMissingNodes while it's in progress</span></div>
|
|
<div class="foldopen" id="foldopen00493" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html"> 493</a></span> <span class="keyword">struct </span><a class="code hl_struct" href="structripple_1_1SHAMap_1_1MissingNodes.html">MissingNodes</a></div>
|
|
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> {</div>
|
|
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a832dcc91d7ffd8b7ab48ec0f3b801c09"> 495</a></span> <a class="code hl_function" href="structripple_1_1SHAMap_1_1MissingNodes.html#a832dcc91d7ffd8b7ab48ec0f3b801c09">MissingNodes</a>() = <span class="keyword">delete</span>;</div>
|
|
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a8db1cda546c53840b771639c221fec26"> 496</a></span> <a class="code hl_function" href="structripple_1_1SHAMap_1_1MissingNodes.html#a8db1cda546c53840b771639c221fec26">MissingNodes</a>(<a class="code hl_struct" href="structripple_1_1SHAMap_1_1MissingNodes.html">MissingNodes</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div>
|
|
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> <a class="code hl_struct" href="structripple_1_1SHAMap_1_1MissingNodes.html">MissingNodes</a>&</div>
|
|
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#ab59a6467a960901f7e8053f9901af6c5"> 498</a></span> <a class="code hl_function" href="structripple_1_1SHAMap_1_1MissingNodes.html#ab59a6467a960901f7e8053f9901af6c5">operator=</a>(<a class="code hl_struct" href="structripple_1_1SHAMap_1_1MissingNodes.html">MissingNodes</a> <span class="keyword">const</span>&) = <span class="keyword">delete</span>;</div>
|
|
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
|
|
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> <span class="comment">// basic parameters</span></div>
|
|
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a55ea2bafa18548792a05de96107370de"> 501</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a55ea2bafa18548792a05de96107370de">max_</a>;</div>
|
|
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#ad9c9b5733c3b993c3d4e46b0695ae116"> 502</a></span> <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#ad9c9b5733c3b993c3d4e46b0695ae116">filter_</a>;</div>
|
|
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#ac28d9d435ad4005d2e01ee1b9a509b73"> 503</a></span> <span class="keywordtype">int</span> <span class="keyword">const</span> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#ac28d9d435ad4005d2e01ee1b9a509b73">maxDefer_</a>;</div>
|
|
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a6394397a34fe323b6ef27b77c21d38d5"> 504</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a6394397a34fe323b6ef27b77c21d38d5">generation_</a>;</div>
|
|
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> </div>
|
|
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="comment">// nodes we have discovered to be missing</span></div>
|
|
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a64493410dec801e06486468f8ed5b4d0"> 507</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::pair<SHAMapNodeID, uint256></a>> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a64493410dec801e06486468f8ed5b4d0">missingNodes_</a>;</div>
|
|
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a0962b01670b88cd6de600fe072a2a860"> 508</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/set.html">std::set<SHAMapHash></a> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a0962b01670b88cd6de600fe072a2a860">missingHashes_</a>;</div>
|
|
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> </div>
|
|
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> <span class="comment">// nodes we are in the process of traversing</span></div>
|
|
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a36ea9c4314d455dd02c5634d4938f673"> 511</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">StackEntry</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple</a><</div>
|
|
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>*, <span class="comment">// pointer to the node</span></div>
|
|
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a>, <span class="comment">// the node's ID</span></div>
|
|
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> int, <span class="comment">// while child we check first</span></div>
|
|
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> int, <span class="comment">// which child we check next</span></div>
|
|
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> <span class="keywordtype">bool</span>>; <span class="comment">// whether we've found any missing children yet</span></div>
|
|
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> </div>
|
|
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> <span class="comment">// We explicitly choose to specify the use of std::deque here, because</span></div>
|
|
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> <span class="comment">// we need to ensure that pointers and/or references to existing</span></div>
|
|
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <span class="comment">// elements will not be invalidated during the course of element</span></div>
|
|
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> <span class="comment">// insertion and removal. Containers that do not offer this guarantee,</span></div>
|
|
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <span class="comment">// such as std::vector, can't be used here.</span></div>
|
|
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a1053cf953a1f9d97319bd05fd1ee7510"> 523</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">std::stack<StackEntry, std::deque<StackEntry></a>> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a1053cf953a1f9d97319bd05fd1ee7510">stack_</a>;</div>
|
|
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> </div>
|
|
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> <span class="comment">// nodes we may have acquired from deferred reads</span></div>
|
|
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a9f2c67e9762c9ea424f5f79a0ae4323e"> 526</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">DeferredNode</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple</a><</div>
|
|
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> <a class="code hl_class" href="classripple_1_1SHAMapInnerNode.html">SHAMapInnerNode</a>*, <span class="comment">// parent node</span></div>
|
|
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> <a class="code hl_class" href="classripple_1_1SHAMapNodeID.html">SHAMapNodeID</a>, <span class="comment">// parent node ID</span></div>
|
|
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> int, <span class="comment">// branch</span></div>
|
|
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a>>; <span class="comment">// node</span></div>
|
|
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> </div>
|
|
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a2a4e6a108abbbee0b809c01349de9dbc"> 532</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a2a4e6a108abbbee0b809c01349de9dbc">deferred_</a>;</div>
|
|
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a2ed60db474e8c9072068402313d16d0d"> 533</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a2ed60db474e8c9072068402313d16d0d">deferLock_</a>;</div>
|
|
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a2bb0e112bf72fe63d733867f480d11b7"> 534</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/condition_variable.html">std::condition_variable</a> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a2bb0e112bf72fe63d733867f480d11b7">deferCondVar_</a>;</div>
|
|
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#ade7ed01ff01b6207f63f5d7919c3f987"> 535</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<DeferredNode></a> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#ade7ed01ff01b6207f63f5d7919c3f987">finishedReads_</a>;</div>
|
|
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> </div>
|
|
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> <span class="comment">// nodes we need to resume after we get their children from deferred</span></div>
|
|
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> <span class="comment">// reads</span></div>
|
|
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#ad412b8d16396e0c89bcf9b7673f0f450"> 539</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<SHAMapInnerNode*, SHAMapNodeID></a> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#ad412b8d16396e0c89bcf9b7673f0f450">resumes_</a>;</div>
|
|
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> </div>
|
|
<div class="foldopen" id="foldopen00541" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="structripple_1_1SHAMap_1_1MissingNodes.html#a3ec85f310a1155ddcca197414136b4a0"> 541</a></span> <a class="code hl_function" href="structripple_1_1SHAMap_1_1MissingNodes.html#a3ec85f310a1155ddcca197414136b4a0">MissingNodes</a>(</div>
|
|
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> <span class="keywordtype">int</span> max,</div>
|
|
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> <a class="code hl_class" href="classripple_1_1SHAMapSyncFilter.html">SHAMapSyncFilter</a>* filter,</div>
|
|
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> <span class="keywordtype">int</span> maxDefer,</div>
|
|
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> generation)</div>
|
|
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> : <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a55ea2bafa18548792a05de96107370de">max_</a>(max)</div>
|
|
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> , <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#ad9c9b5733c3b993c3d4e46b0695ae116">filter_</a>(filter)</div>
|
|
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> , <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#ac28d9d435ad4005d2e01ee1b9a509b73">maxDefer_</a>(maxDefer)</div>
|
|
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> , <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a6394397a34fe323b6ef27b77c21d38d5">generation_</a>(generation)</div>
|
|
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> , <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a2a4e6a108abbbee0b809c01349de9dbc">deferred_</a>(0)</div>
|
|
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> {</div>
|
|
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#a64493410dec801e06486468f8ed5b4d0">missingNodes_</a>.reserve(max);</div>
|
|
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <a class="code hl_variable" href="structripple_1_1SHAMap_1_1MissingNodes.html#ade7ed01ff01b6207f63f5d7919c3f987">finishedReads_</a>.reserve(maxDefer);</div>
|
|
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> }</div>
|
|
</div>
|
|
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> };</div>
|
|
</div>
|
|
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> </div>
|
|
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> <span class="comment">// getMissingNodes helper functions</span></div>
|
|
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a241e6dd6c3be3fd11429a39c6e54111d">gmn_ProcessNodes</a>(MissingNodes&, <a class="code hl_typedef" href="structripple_1_1SHAMap_1_1MissingNodes.html#a36ea9c4314d455dd02c5634d4938f673">MissingNodes::StackEntry</a>& node);</div>
|
|
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> <span class="keywordtype">void</span></div>
|
|
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a984f9b7723353ed3083a8513f9088662">gmn_ProcessDeferredReads</a>(MissingNodes&);</div>
|
|
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> </div>
|
|
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> <span class="comment">// fetch from DB helper function</span></div>
|
|
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> <a class="code hl_class" href="classripple_1_1SharedIntrusive.html">intr_ptr::SharedPtr<SHAMapTreeNode></a></div>
|
|
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> <a class="code hl_function" href="classripple_1_1SHAMap.html#a557fd5f882aeb18069b37656a48f902b">finishFetch</a>(</div>
|
|
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span> <a class="code hl_class" href="classripple_1_1SHAMapHash.html">SHAMapHash</a> <span class="keyword">const</span>& hash,</div>
|
|
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<NodeObject></a> <span class="keyword">const</span>& <span class="keywordtype">object</span>) <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span>};</div>
|
|
</div>
|
|
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> </div>
|
|
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span><span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00571" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a8d7a950162ef12667903e34175a9316f"> 571</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#a8d7a950162ef12667903e34175a9316f">SHAMap::setFull</a>()</div>
|
|
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span>{</div>
|
|
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a51a31962c123b075983f235fbf2ae5c6">full_</a> = <span class="keyword">true</span>;</div>
|
|
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> </div>
|
|
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span><span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00577" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a69277b2085232dc4bde1cd6eda4f0791"> 577</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#a69277b2085232dc4bde1cd6eda4f0791">SHAMap::setLedgerSeq</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> lseq)</div>
|
|
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span>{</div>
|
|
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#acbedaf0be7acd2816e01be821fdc4697">ledgerSeq_</a> = lseq;</div>
|
|
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> </div>
|
|
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span><span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00583" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a5c233c58f744565df9d65b6189e42741"> 583</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#a5c233c58f744565df9d65b6189e42741">SHAMap::setImmutable</a>()</div>
|
|
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span>{</div>
|
|
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> XRPL_ASSERT(</div>
|
|
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">state_</a> != <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a4bbb8f967da6d1a610596d7257179c2b">SHAMapState::Invalid</a>,</div>
|
|
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> <span class="stringliteral">"ripple::SHAMap::setImmutable : state is valid"</span>);</div>
|
|
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">state_</a> = <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a11efd9ae6f76e706e3f1b34d97584ebc">SHAMapState::Immutable</a>;</div>
|
|
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> </div>
|
|
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span><span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
|
|
<div class="foldopen" id="foldopen00592" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a4c50953c5e1c720f925deca920e8aa64"> 592</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#a4c50953c5e1c720f925deca920e8aa64">SHAMap::isSynching</a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span><span class="keyword"></span>{</div>
|
|
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">state_</a> == <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a508354801fa1ec5fe0d75f1bdaa4d07f">SHAMapState::Synching</a>;</div>
|
|
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> </div>
|
|
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span><span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00598" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#ac947f8afc3f3327f2ccef35be5e6f419"> 598</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#ac947f8afc3f3327f2ccef35be5e6f419">SHAMap::setSynching</a>()</div>
|
|
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span>{</div>
|
|
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">state_</a> = <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a508354801fa1ec5fe0d75f1bdaa4d07f">SHAMapState::Synching</a>;</div>
|
|
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> </div>
|
|
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span><span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00604" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a5ae13bc823d7e3cbdc4d784a04f29edb"> 604</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#a5ae13bc823d7e3cbdc4d784a04f29edb">SHAMap::clearSynching</a>()</div>
|
|
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span>{</div>
|
|
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">state_</a> = <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a9361bbf1ba577c105067533413bcfaea">SHAMapState::Modifying</a>;</div>
|
|
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> </div>
|
|
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span><span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
|
|
<div class="foldopen" id="foldopen00610" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#aa36f13285448ce66cdc04a0b7f4d8af7"> 610</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#aa36f13285448ce66cdc04a0b7f4d8af7">SHAMap::isValid</a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span><span class="keyword"></span>{</div>
|
|
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">state_</a> != <a class="code hl_enumvalue" href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a4bbb8f967da6d1a610596d7257179c2b">SHAMapState::Invalid</a>;</div>
|
|
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> </div>
|
|
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span><span class="keyword">inline</span> <span class="keywordtype">void</span></div>
|
|
<div class="foldopen" id="foldopen00616" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a1ed29ee54ce6ce9301384b96f821e636"> 616</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#a1ed29ee54ce6ce9301384b96f821e636">SHAMap::setUnbacked</a>()</div>
|
|
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span>{</div>
|
|
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span> <a class="code hl_variable" href="classripple_1_1SHAMap.html#a0b1d68d0723680664e14401c86625b9f">backed_</a> = <span class="keyword">false</span>;</div>
|
|
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> </div>
|
|
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span><span class="comment">//------------------------------------------------------------------------------</span></div>
|
|
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
|
|
<div class="foldopen" id="foldopen00623" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html"> 623</a></span><span class="keyword">class </span><a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a></div>
|
|
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span>{</div>
|
|
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span><span class="keyword">public</span>:</div>
|
|
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#ab1d91d4b05b23151065471527be8dd6e"> 626</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/iterator/iterator_tags.html">iterator_category</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/iterator/iterator_tags.html">std::forward_iterator_tag</a>;</div>
|
|
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a92f26cc7debb378242bf5693df746903"> 627</a></span> <span class="keyword">using </span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/ptrdiff_t.html">difference_type</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/ptrdiff_t.html">std::ptrdiff_t</a>;</div>
|
|
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#ae47925c51215ee608d3e446bf336ef0e"> 628</a></span> <span class="keyword">using </span><a class="code hl_class" href="classripple_1_1SHAMapItem.html">value_type</a> = <a class="code hl_class" href="classripple_1_1SHAMapItem.html">SHAMapItem</a>;</div>
|
|
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a6b211b902ad277bb4ff854b4455f3245"> 629</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="classripple_1_1SHAMap_1_1const__iterator.html#a6b211b902ad277bb4ff854b4455f3245">reference</a> = <a class="code hl_class" href="classripple_1_1SHAMapItem.html">value_type</a> <span class="keyword">const</span>&;</div>
|
|
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a01908f8cc0274035ebf018f2f92783ce"> 630</a></span> <span class="keyword">using </span><a class="code hl_typedef" href="classripple_1_1SHAMap_1_1const__iterator.html#a01908f8cc0274035ebf018f2f92783ce">pointer</a> = <a class="code hl_class" href="classripple_1_1SHAMapItem.html">value_type</a> <span class="keyword">const</span>*;</div>
|
|
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> </div>
|
|
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span><span class="keyword">private</span>:</div>
|
|
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a0226f23617b013c86d0459e702fb6f19"> 633</a></span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a> <a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#a0226f23617b013c86d0459e702fb6f19">stack_</a>;</div>
|
|
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#af5cff04eb448b6bdd7d59658bd5dc6cd"> 634</a></span> <a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* <a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#af5cff04eb448b6bdd7d59658bd5dc6cd">map_</a> = <span class="keyword">nullptr</span>;</div>
|
|
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#acfd0ffb1ceae97e14d13e3ff1b7ee902"> 635</a></span> <a class="code hl_typedef" href="classripple_1_1SHAMap_1_1const__iterator.html#a01908f8cc0274035ebf018f2f92783ce">pointer</a> <a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#acfd0ffb1ceae97e14d13e3ff1b7ee902">item_</a> = <span class="keyword">nullptr</span>;</div>
|
|
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span> </div>
|
|
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span><span class="keyword">public</span>:</div>
|
|
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#afeb5eb94ab1c6a4c995dfe82a43f2e09"> 638</a></span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#afeb5eb94ab1c6a4c995dfe82a43f2e09">const_iterator</a>() = <span class="keyword">delete</span>;</div>
|
|
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span> </div>
|
|
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a14cf3177c8250f479485dd0c055106fc"> 640</a></span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#a14cf3177c8250f479485dd0c055106fc">const_iterator</a>(<a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a> <span class="keyword">const</span>& other) = <span class="keywordflow">default</span>;</div>
|
|
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a>&</div>
|
|
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#abc42fe9a2895ff51b247267ae9256835"> 642</a></span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#abc42fe9a2895ff51b247267ae9256835">operator=</a>(<a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a> <span class="keyword">const</span>& other) = <span class="keywordflow">default</span>;</div>
|
|
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> </div>
|
|
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#ab31534030bd8ee7e37759eb065dfeb62"> 644</a></span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#ab31534030bd8ee7e37759eb065dfeb62">~const_iterator</a>() = <span class="keywordflow">default</span>;</div>
|
|
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> </div>
|
|
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> <a class="code hl_typedef" href="classripple_1_1SHAMap_1_1const__iterator.html#a6b211b902ad277bb4ff854b4455f3245">reference</a></div>
|
|
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#a67d1a2e4b8fb308703667ffc445e5aa1">operator*</a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> <a class="code hl_typedef" href="classripple_1_1SHAMap_1_1const__iterator.html#a01908f8cc0274035ebf018f2f92783ce">pointer</a></div>
|
|
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#ac771b1bba290cab42b8c5eb7d8626219">operator-></a>() <span class="keyword">const</span>;</div>
|
|
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> </div>
|
|
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a>&</div>
|
|
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#a5c4fe87cf9aae35edde21d4bbd87ce8d">operator++</a>();</div>
|
|
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a></div>
|
|
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#a5c4fe87cf9aae35edde21d4bbd87ce8d">operator++</a>(<span class="keywordtype">int</span>);</div>
|
|
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> </div>
|
|
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span><span class="keyword">private</span>:</div>
|
|
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> <span class="keyword">explicit</span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#afeb5eb94ab1c6a4c995dfe82a43f2e09">const_iterator</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* map);</div>
|
|
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#afeb5eb94ab1c6a4c995dfe82a43f2e09">const_iterator</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* map, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/nullptr_t.html">std::nullptr_t</a>);</div>
|
|
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"> 659</span> <a class="code hl_function" href="classripple_1_1SHAMap_1_1const__iterator.html#afeb5eb94ab1c6a4c995dfe82a43f2e09">const_iterator</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* map, <a class="code hl_typedef" href="classripple_1_1SHAMap_1_1const__iterator.html#a01908f8cc0274035ebf018f2f92783ce">pointer</a> item, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>&& stack);</div>
|
|
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"> 660</span> </div>
|
|
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"> 661</span> <span class="keyword">friend</span> <span class="keywordtype">bool</span></div>
|
|
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"> 662</span> <a class="code hl_friend" href="classripple_1_1SHAMap_1_1const__iterator.html#ab95f2e994664fc0ed94252a9da09b466">operator==</a>(<a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a> <span class="keyword">const</span>& x, <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a> <span class="keyword">const</span>& y);</div>
|
|
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a1ffff693669cd9c4038491d5cc4cf6f3"> 663</a></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a>;</div>
|
|
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"> 664</span>};</div>
|
|
</div>
|
|
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> </div>
|
|
<div class="foldopen" id="foldopen00666" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#ad44938558ed554d2e0fb8267068f6df0"> 666</a></span><span class="keyword">inline</span> <a class="code hl_function" href="classripple_1_1Dir_1_1const__iterator.html#a0962997c34b92fd7431560dd802fa7c0">SHAMap::const_iterator::const_iterator</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* map) : map_(map)</div>
|
|
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"> 667</span>{</div>
|
|
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"> 668</span> XRPL_ASSERT(</div>
|
|
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"> 669</span> <a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#af5cff04eb448b6bdd7d59658bd5dc6cd">map_</a>,</div>
|
|
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"> 670</span> <span class="stringliteral">"ripple::SHAMap::const_iterator::const_iterator : non-null input"</span>);</div>
|
|
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"> 671</span> </div>
|
|
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"> 672</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> temp = <a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#af5cff04eb448b6bdd7d59658bd5dc6cd">map_</a>-><a class="code hl_function" href="classripple_1_1SHAMap.html#aa349ff193020caf2178e28ef6392e675">peekFirstItem</a>(<a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#a0226f23617b013c86d0459e702fb6f19">stack_</a>))</div>
|
|
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"> 673</span> <a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#acfd0ffb1ceae97e14d13e3ff1b7ee902">item_</a> = temp->peekItem().get();</div>
|
|
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"> 674</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"> 675</span> </div>
|
|
<div class="foldopen" id="foldopen00676" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a53c9b539929750152b7699bcd852aedc"> 676</a></span><span class="keyword">inline</span> <a class="code hl_function" href="classripple_1_1Dir_1_1const__iterator.html#a0962997c34b92fd7431560dd802fa7c0">SHAMap::const_iterator::const_iterator</a>(<a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* map, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/nullptr_t.html">std::nullptr_t</a>)</div>
|
|
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"> 677</span> : map_(map)</div>
|
|
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"> 678</span>{</div>
|
|
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"> 679</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"> 680</span> </div>
|
|
<div class="foldopen" id="foldopen00681" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a942f588cfdb4512bc7272ebae930a856"> 681</a></span><span class="keyword">inline</span> <a class="code hl_function" href="classripple_1_1Dir_1_1const__iterator.html#a0962997c34b92fd7431560dd802fa7c0">SHAMap::const_iterator::const_iterator</a>(</div>
|
|
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"> 682</span> <a class="code hl_class" href="classripple_1_1SHAMap.html">SHAMap</a> <span class="keyword">const</span>* map,</div>
|
|
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> <a class="code hl_typedef" href="classripple_1_1SHAMap_1_1const__iterator.html#a01908f8cc0274035ebf018f2f92783ce">pointer</a> item,</div>
|
|
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"> 684</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/stack.html">SharedPtrNodeStack</a>&& stack)</div>
|
|
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"> 685</span> : stack_(<a class="code hl_namespace" href="namespacestd.html">std</a>::move(stack)), map_(map), item_(item)</div>
|
|
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"> 686</span>{</div>
|
|
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"> 687</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"> 688</span> </div>
|
|
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"> 689</span><span class="keyword">inline</span> <a class="code hl_typedef" href="classripple_1_1Dir_1_1const__iterator.html#a5c10b36dcf197f4ccd12419eb00ef13a">SHAMap::const_iterator::reference</a></div>
|
|
<div class="foldopen" id="foldopen00690" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a67d1a2e4b8fb308703667ffc445e5aa1"> 690</a></span><a class="code hl_function" href="classripple_1_1Dir_1_1const__iterator.html#a32f16ece7c06b88964b58cb008f18e8f">SHAMap::const_iterator::operator*</a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"> 691</span><span class="keyword"></span>{</div>
|
|
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"> 692</span> <span class="keywordflow">return</span> *item_;</div>
|
|
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"> 693</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"> 694</span> </div>
|
|
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"> 695</span><span class="keyword">inline</span> <a class="code hl_typedef" href="classripple_1_1Dir_1_1const__iterator.html#a8cc46c4cfcd0f6967c32051448a907a8">SHAMap::const_iterator::pointer</a></div>
|
|
<div class="foldopen" id="foldopen00696" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#ac771b1bba290cab42b8c5eb7d8626219"> 696</a></span><a class="code hl_function" href="classripple_1_1Dir_1_1const__iterator.html#af2d0165fde72b90c1e63a0d92cdb5786">SHAMap::const_iterator::operator-></a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"> 697</span><span class="keyword"></span>{</div>
|
|
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"> 698</span> <span class="keywordflow">return</span> item_;</div>
|
|
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"> 699</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> </div>
|
|
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"> 701</span><span class="keyword">inline</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a>&</div>
|
|
<div class="foldopen" id="foldopen00702" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#a5c4fe87cf9aae35edde21d4bbd87ce8d"> 702</a></span><a class="code hl_function" href="classripple_1_1Dir_1_1const__iterator.html#a6f68307203e9b5fd4b7954186ceafdd3">SHAMap::const_iterator::operator++</a>()</div>
|
|
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"> 703</span>{</div>
|
|
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"> 704</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> temp = map_->peekNextItem(item_->key(), stack_))</div>
|
|
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"> 705</span> item_ = temp->peekItem().get();</div>
|
|
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"> 706</span> <span class="keywordflow">else</span></div>
|
|
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span> item_ = <span class="keyword">nullptr</span>;</div>
|
|
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"> 708</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
|
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"> 709</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"> 710</span> </div>
|
|
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"> 711</span><span class="keyword">inline</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a></div>
|
|
<div class="foldopen" id="foldopen00712" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#add9afd9aaa8067198aa0b66568f34f26"> 712</a></span><a class="code hl_function" href="classripple_1_1Dir_1_1const__iterator.html#a6f68307203e9b5fd4b7954186ceafdd3">SHAMap::const_iterator::operator++</a>(<span class="keywordtype">int</span>)</div>
|
|
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"> 713</span>{</div>
|
|
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"> 714</span> <span class="keyword">auto</span> tmp = *<span class="keyword">this</span>;</div>
|
|
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"> 715</span> ++(*this);</div>
|
|
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span> <span class="keywordflow">return</span> tmp;</div>
|
|
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"> 718</span> </div>
|
|
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"> 719</span><span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
|
|
<div class="foldopen" id="foldopen00720" data-start="{" data-end="};">
|
|
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap_1_1const__iterator.html#ab95f2e994664fc0ed94252a9da09b466"> 720</a></span><a class="code hl_function" href="namespaceripple.html#adb9995d7c8e8a2aa3d702b73edfa0672">operator==</a>(<a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a> <span class="keyword">const</span>& x, <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a> <span class="keyword">const</span>& y)</div>
|
|
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span>{</div>
|
|
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"> 722</span> XRPL_ASSERT(</div>
|
|
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span> x.<a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#af5cff04eb448b6bdd7d59658bd5dc6cd">map_</a> == y.<a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#af5cff04eb448b6bdd7d59658bd5dc6cd">map_</a>,</div>
|
|
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span> <span class="stringliteral">"ripple::operator==(SHAMap::const_iterator, SHAMap::const_iterator) : "</span></div>
|
|
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"> 725</span> <span class="stringliteral">"inputs map do match"</span>);</div>
|
|
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"> 726</span> <span class="keywordflow">return</span> x.<a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#acfd0ffb1ceae97e14d13e3ff1b7ee902">item_</a> == y.<a class="code hl_variable" href="classripple_1_1SHAMap_1_1const__iterator.html#acfd0ffb1ceae97e14d13e3ff1b7ee902">item_</a>;</div>
|
|
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"> 727</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"> 728</span> </div>
|
|
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"> 729</span><span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
|
|
<div class="foldopen" id="foldopen00730" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"><a class="line" href="namespaceripple.html#ad4dea638ae6e1e701a2155ca93792419"> 730</a></span><a class="code hl_function" href="namespaceripple.html#a21a6d6b07d2d712568f3565adf30ae21">operator!=</a>(<a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a> <span class="keyword">const</span>& x, <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a> <span class="keyword">const</span>& y)</div>
|
|
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"> 731</span>{</div>
|
|
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"> 732</span> <span class="keywordflow">return</span> !(x == y);</div>
|
|
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"> 733</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"> 734</span> </div>
|
|
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"> 735</span><span class="keyword">inline</span> SHAMap::const_iterator</div>
|
|
<div class="foldopen" id="foldopen00736" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#ac18383f9dc9dbb7e4bfaadbb55cfb4d2"> 736</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#ac18383f9dc9dbb7e4bfaadbb55cfb4d2">SHAMap::begin</a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"> 737</span><span class="keyword"></span>{</div>
|
|
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a>(<span class="keyword">this</span>);</div>
|
|
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"> 740</span> </div>
|
|
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"> 741</span><span class="keyword">inline</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">SHAMap::const_iterator</a></div>
|
|
<div class="foldopen" id="foldopen00742" data-start="{" data-end="}">
|
|
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"><a class="line" href="classripple_1_1SHAMap.html#a71caeac6f4a3bce67cc8476a440509c1"> 742</a></span><a class="code hl_function" href="classripple_1_1SHAMap.html#a71caeac6f4a3bce67cc8476a440509c1">SHAMap::end</a>()<span class="keyword"> const</span></div>
|
|
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span><span class="keyword"></span>{</div>
|
|
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classripple_1_1SHAMap_1_1const__iterator.html">const_iterator</a>(<span class="keyword">this</span>, <span class="keyword">nullptr</span>);</div>
|
|
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"> 745</span>}</div>
|
|
</div>
|
|
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"> 746</span> </div>
|
|
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"> 747</span>} <span class="comment">// namespace ripple</span></div>
|
|
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"> 748</span> </div>
|
|
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"> 749</span><span class="preprocessor">#endif</span></div>
|
|
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00040">Journal.h:41</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Dir_1_1const__iterator_html"><div class="ttname"><a href="classripple_1_1Dir_1_1const__iterator.html">ripple::Dir::const_iterator</a></div><div class="ttdef"><b>Definition</b> <a href="Dir_8h_source.html#l00042">Dir.h:43</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Dir_1_1const__iterator_html_a0962997c34b92fd7431560dd802fa7c0"><div class="ttname"><a href="classripple_1_1Dir_1_1const__iterator.html#a0962997c34b92fd7431560dd802fa7c0">ripple::Dir::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(ReadView const &view, Keylet const &root, Keylet const &page)</div><div class="ttdef"><b>Definition</b> <a href="Dir_8h_source.html#l00096">Dir.h:96</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Dir_1_1const__iterator_html_a32f16ece7c06b88964b58cb008f18e8f"><div class="ttname"><a href="classripple_1_1Dir_1_1const__iterator.html#a32f16ece7c06b88964b58cb008f18e8f">ripple::Dir::const_iterator::operator*</a></div><div class="ttdeci">reference operator*() const</div><div class="ttdef"><b>Definition</b> <a href="Dir_8cpp_source.html#l00051">Dir.cpp:51</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Dir_1_1const__iterator_html_a5c10b36dcf197f4ccd12419eb00ef13a"><div class="ttname"><a href="classripple_1_1Dir_1_1const__iterator.html#a5c10b36dcf197f4ccd12419eb00ef13a">ripple::Dir::const_iterator::reference</a></div><div class="ttdeci">value_type const & reference</div><div class="ttdef"><b>Definition</b> <a href="Dir_8h_source.html#l00047">Dir.h:47</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Dir_1_1const__iterator_html_a6f68307203e9b5fd4b7954186ceafdd3"><div class="ttname"><a href="classripple_1_1Dir_1_1const__iterator.html#a6f68307203e9b5fd4b7954186ceafdd3">ripple::Dir::const_iterator::operator++</a></div><div class="ttdeci">const_iterator & operator++()</div><div class="ttdef"><b>Definition</b> <a href="Dir_8cpp_source.html#l00062">Dir.cpp:62</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Dir_1_1const__iterator_html_a8cc46c4cfcd0f6967c32051448a907a8"><div class="ttname"><a href="classripple_1_1Dir_1_1const__iterator.html#a8cc46c4cfcd0f6967c32051448a907a8">ripple::Dir::const_iterator::pointer</a></div><div class="ttdeci">value_type const * pointer</div><div class="ttdef"><b>Definition</b> <a href="Dir_8h_source.html#l00046">Dir.h:46</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Dir_1_1const__iterator_html_af2d0165fde72b90c1e63a0d92cdb5786"><div class="ttname"><a href="classripple_1_1Dir_1_1const__iterator.html#af2d0165fde72b90c1e63a0d92cdb5786">ripple::Dir::const_iterator::operator-></a></div><div class="ttdeci">pointer operator->() const</div><div class="ttdef"><b>Definition</b> <a href="Dir_8h_source.html#l00064">Dir.h:64</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Family_html"><div class="ttname"><a href="classripple_1_1Family.html">ripple::Family</a></div><div class="ttdef"><b>Definition</b> <a href="Family_8h_source.html#l00013">Family.h:14</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapAddNode_html"><div class="ttname"><a href="classripple_1_1SHAMapAddNode.html">ripple::SHAMapAddNode</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapAddNode_8h_source.html#l00009">SHAMapAddNode.h:10</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapHash_html"><div class="ttname"><a href="classripple_1_1SHAMapHash.html">ripple::SHAMapHash</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapHash_8h_source.html#l00014">SHAMapHash.h:15</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapInnerNode_html"><div class="ttname"><a href="classripple_1_1SHAMapInnerNode.html">ripple::SHAMapInnerNode</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapInnerNode_8h_source.html#l00015">SHAMapInnerNode.h:17</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapInnerNode_html_a42a7132ff24a6edf8ca1e022f61826d9"><div class="ttname"><a href="classripple_1_1SHAMapInnerNode.html#a42a7132ff24a6edf8ca1e022f61826d9">ripple::SHAMapInnerNode::branchFactor</a></div><div class="ttdeci">static constexpr unsigned int branchFactor</div><div class="ttdoc">Each inner node has 16 children (the 'radix tree' part of the map)</div><div class="ttdef"><b>Definition</b> <a href="SHAMapInnerNode_8h_source.html#l00020">SHAMapInnerNode.h:20</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapItem_html"><div class="ttname"><a href="classripple_1_1SHAMapItem.html">ripple::SHAMapItem</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapItem_8h_source.html#l00016">SHAMapItem.h:17</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapLeafNode_html"><div class="ttname"><a href="classripple_1_1SHAMapLeafNode.html">ripple::SHAMapLeafNode</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapLeafNode_8h_source.html#l00011">SHAMapLeafNode.h:12</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapNodeID_html"><div class="ttname"><a href="classripple_1_1SHAMapNodeID.html">ripple::SHAMapNodeID</a></div><div class="ttdoc">Identifies a node inside a SHAMap.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapNodeID_8h_source.html#l00014">SHAMapNodeID.h:15</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapSyncFilter_html"><div class="ttname"><a href="classripple_1_1SHAMapSyncFilter.html">ripple::SHAMapSyncFilter</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapSyncFilter_8h_source.html#l00011">SHAMapSyncFilter.h:12</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMapTreeNode_html"><div class="ttname"><a href="classripple_1_1SHAMapTreeNode.html">ripple::SHAMapTreeNode</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapTreeNode_8h_source.html#l00031">SHAMapTreeNode.h:32</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html">ripple::SHAMap::const_iterator</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00623">SHAMap.h:624</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_a01908f8cc0274035ebf018f2f92783ce"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#a01908f8cc0274035ebf018f2f92783ce">ripple::SHAMap::const_iterator::pointer</a></div><div class="ttdeci">value_type const * pointer</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00630">SHAMap.h:630</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_a0226f23617b013c86d0459e702fb6f19"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#a0226f23617b013c86d0459e702fb6f19">ripple::SHAMap::const_iterator::stack_</a></div><div class="ttdeci">SharedPtrNodeStack stack_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00633">SHAMap.h:633</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_a14cf3177c8250f479485dd0c055106fc"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#a14cf3177c8250f479485dd0c055106fc">ripple::SHAMap::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(const_iterator const &other)=default</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_a5c4fe87cf9aae35edde21d4bbd87ce8d"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#a5c4fe87cf9aae35edde21d4bbd87ce8d">ripple::SHAMap::const_iterator::operator++</a></div><div class="ttdeci">const_iterator & operator++()</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00702">SHAMap.h:702</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_a67d1a2e4b8fb308703667ffc445e5aa1"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#a67d1a2e4b8fb308703667ffc445e5aa1">ripple::SHAMap::const_iterator::operator*</a></div><div class="ttdeci">reference operator*() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00690">SHAMap.h:690</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_a6b211b902ad277bb4ff854b4455f3245"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#a6b211b902ad277bb4ff854b4455f3245">ripple::SHAMap::const_iterator::reference</a></div><div class="ttdeci">value_type const & reference</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00629">SHAMap.h:629</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_ab31534030bd8ee7e37759eb065dfeb62"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#ab31534030bd8ee7e37759eb065dfeb62">ripple::SHAMap::const_iterator::~const_iterator</a></div><div class="ttdeci">~const_iterator()=default</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_ab95f2e994664fc0ed94252a9da09b466"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#ab95f2e994664fc0ed94252a9da09b466">ripple::SHAMap::const_iterator::operator==</a></div><div class="ttdeci">friend bool operator==(const_iterator const &x, const_iterator const &y)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00720">SHAMap.h:720</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_abc42fe9a2895ff51b247267ae9256835"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#abc42fe9a2895ff51b247267ae9256835">ripple::SHAMap::const_iterator::operator=</a></div><div class="ttdeci">const_iterator & operator=(const_iterator const &other)=default</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_ac771b1bba290cab42b8c5eb7d8626219"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#ac771b1bba290cab42b8c5eb7d8626219">ripple::SHAMap::const_iterator::operator-></a></div><div class="ttdeci">pointer operator->() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00696">SHAMap.h:696</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_acfd0ffb1ceae97e14d13e3ff1b7ee902"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#acfd0ffb1ceae97e14d13e3ff1b7ee902">ripple::SHAMap::const_iterator::item_</a></div><div class="ttdeci">pointer item_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00635">SHAMap.h:635</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_af5cff04eb448b6bdd7d59658bd5dc6cd"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#af5cff04eb448b6bdd7d59658bd5dc6cd">ripple::SHAMap::const_iterator::map_</a></div><div class="ttdeci">SHAMap const * map_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00634">SHAMap.h:634</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html_afeb5eb94ab1c6a4c995dfe82a43f2e09"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html#afeb5eb94ab1c6a4c995dfe82a43f2e09">ripple::SHAMap::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator()=delete</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html"><div class="ttname"><a href="classripple_1_1SHAMap.html">ripple::SHAMap</a></div><div class="ttdoc">A SHAMap is both a radix tree with a fan-out of 16 and a Merkle tree.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00077">SHAMap.h:78</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a00b1a7221325e220eb1cd78d29af60a6"><div class="ttname"><a href="classripple_1_1SHAMap.html#a00b1a7221325e220eb1cd78d29af60a6">ripple::SHAMap::preFlushNode</a></div><div class="ttdeci">intr_ptr::SharedPtr< Node > preFlushNode(intr_ptr::SharedPtr< Node > node) const</div><div class="ttdoc">prepare a node to be modified before flushing</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00997">SHAMap.cpp:997</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a00d827a2dea5d29f8d2adcc35fd77868"><div class="ttname"><a href="classripple_1_1SHAMap.html#a00d827a2dea5d29f8d2adcc35fd77868">ripple::SHAMap::family</a></div><div class="ttdeci">Family & family()</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00131">SHAMap.h:131</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a07ce8e5379558b4c0e256cbbf2636cb7"><div class="ttname"><a href="classripple_1_1SHAMap.html#a07ce8e5379558b4c0e256cbbf2636cb7">ripple::SHAMap::descendAsync</a></div><div class="ttdeci">SHAMapTreeNode * descendAsync(SHAMapInnerNode *parent, int branch, SHAMapSyncFilter *filter, bool &pending, descendCallback &&) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00374">SHAMap.cpp:374</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a0a9bf789b31096bb8938b6fc93bac625"><div class="ttname"><a href="classripple_1_1SHAMap.html#a0a9bf789b31096bb8938b6fc93bac625">ripple::SHAMap::hasItem</a></div><div class="ttdeci">bool hasItem(uint256 const &id) const</div><div class="ttdoc">Does the tree have an item with the given ID?</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00696">SHAMap.cpp:696</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a0b1d68d0723680664e14401c86625b9f"><div class="ttname"><a href="classripple_1_1SHAMap.html#a0b1d68d0723680664e14401c86625b9f">ripple::SHAMap::backed_</a></div><div class="ttdeci">bool backed_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00092">SHAMap.h:92</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a0b9ca468990bab71ad6eab794f812453"><div class="ttname"><a href="classripple_1_1SHAMap.html#a0b9ca468990bab71ad6eab794f812453">ripple::SHAMap::cacheLookup</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > cacheLookup(SHAMapHash const &hash) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l01204">SHAMap.cpp:1204</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a10defa04c5990ae227297f869a99b691"><div class="ttname"><a href="classripple_1_1SHAMap.html#a10defa04c5990ae227297f869a99b691">ripple::SHAMap::unshareNode</a></div><div class="ttdeci">intr_ptr::SharedPtr< Node > unshareNode(intr_ptr::SharedPtr< Node >, SHAMapNodeID const &nodeID)</div><div class="ttdoc">Unshare the node, allowing it to be modified.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00418">SHAMap.cpp:418</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a149dff8600718cccd0d5b9e7af9d3c79"><div class="ttname"><a href="classripple_1_1SHAMap.html#a149dff8600718cccd0d5b9e7af9d3c79">ripple::SHAMap::journal_</a></div><div class="ttdeci">beast::Journal journal_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00081">SHAMap.h:81</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a16961b82bb1c661845b14c88b4e80dc3"><div class="ttname"><a href="classripple_1_1SHAMap.html#a16961b82bb1c661845b14c88b4e80dc3">ripple::SHAMap::leafDepth</a></div><div class="ttdeci">static constexpr unsigned int leafDepth</div><div class="ttdoc">The depth of the hash map: data is only present in the leaves.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00102">SHAMap.h:102</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a16c47b967da5fd093f51e7331f42c9b6"><div class="ttname"><a href="classripple_1_1SHAMap.html#a16c47b967da5fd093f51e7331f42c9b6">ripple::SHAMap::dump</a></div><div class="ttdeci">void dump(bool withHashes=false) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l01159">SHAMap.cpp:1159</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a1ed29ee54ce6ce9301384b96f821e636"><div class="ttname"><a href="classripple_1_1SHAMap.html#a1ed29ee54ce6ce9301384b96f821e636">ripple::SHAMap::setUnbacked</a></div><div class="ttdeci">void setUnbacked()</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00616">SHAMap.h:616</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a22ad95f58ebb1e05d06a4aac48329625"><div class="ttname"><a href="classripple_1_1SHAMap.html#a22ad95f58ebb1e05d06a4aac48329625">ripple::SHAMap::onlyBelow</a></div><div class="ttdeci">boost::intrusive_ptr< SHAMapItem const > const & onlyBelow(SHAMapTreeNode *) const</div><div class="ttdoc">If there is only one leaf below this node, get its contents.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00507">SHAMap.cpp:507</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a241e6dd6c3be3fd11429a39c6e54111d"><div class="ttname"><a href="classripple_1_1SHAMap.html#a241e6dd6c3be3fd11429a39c6e54111d">ripple::SHAMap::gmn_ProcessNodes</a></div><div class="ttdeci">void gmn_ProcessNodes(MissingNodes &, MissingNodes::StackEntry &node)</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00155">SHAMapSync.cpp:155</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a26f587d4b772fd02113deb67ff052e20"><div class="ttname"><a href="classripple_1_1SHAMap.html#a26f587d4b772fd02113deb67ff052e20">ripple::SHAMap::descendThrow</a></div><div class="ttdeci">SHAMapTreeNode * descendThrow(SHAMapInnerNode *, int branch) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00276">SHAMap.cpp:276</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a293ffbfa7725569d411130013728c8cd"><div class="ttname"><a href="classripple_1_1SHAMap.html#a293ffbfa7725569d411130013728c8cd">ripple::SHAMap::Delta</a></div><div class="ttdeci">std::map< uint256, DeltaItem > Delta</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00107">SHAMap.h:107</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a2ef0103bef7aefba0219c40368fd3688"><div class="ttname"><a href="classripple_1_1SHAMap.html#a2ef0103bef7aefba0219c40368fd3688">ripple::SHAMap::root_</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > root_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00089">SHAMap.h:89</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a381ecaa70bcce3f24bac35b7fed16985"><div class="ttname"><a href="classripple_1_1SHAMap.html#a381ecaa70bcce3f24bac35b7fed16985">ripple::SHAMap::peekItem</a></div><div class="ttdeci">boost::intrusive_ptr< SHAMapItem const > const & peekItem(uint256 const &id) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00598">SHAMap.cpp:598</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a4a8daed34105ce8548d63d44bbf74f04"><div class="ttname"><a href="classripple_1_1SHAMap.html#a4a8daed34105ce8548d63d44bbf74f04">ripple::SHAMap::type_</a></div><div class="ttdeci">SHAMapType const type_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00091">SHAMap.h:91</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a4c50953c5e1c720f925deca920e8aa64"><div class="ttname"><a href="classripple_1_1SHAMap.html#a4c50953c5e1c720f925deca920e8aa64">ripple::SHAMap::isSynching</a></div><div class="ttdeci">bool isSynching() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00592">SHAMap.h:592</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a50ed233b23a5065f500249cf23f1a183"><div class="ttname"><a href="classripple_1_1SHAMap.html#a50ed233b23a5065f500249cf23f1a183">ripple::SHAMap::state_</a></div><div class="ttdeci">SHAMapState state_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00090">SHAMap.h:90</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a51a31962c123b075983f235fbf2ae5c6"><div class="ttname"><a href="classripple_1_1SHAMap.html#a51a31962c123b075983f235fbf2ae5c6">ripple::SHAMap::full_</a></div><div class="ttdeci">bool full_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00093">SHAMap.h:93</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a522656d6ede458746a7acee4732fea70"><div class="ttname"><a href="classripple_1_1SHAMap.html#a522656d6ede458746a7acee4732fea70">ripple::SHAMap::family</a></div><div class="ttdeci">Family const & family() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00125">SHAMap.h:125</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a5268c936212da93659dd05be9304e0bb"><div class="ttname"><a href="classripple_1_1SHAMap.html#a5268c936212da93659dd05be9304e0bb">ripple::SHAMap::f_</a></div><div class="ttdeci">Family & f_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00080">SHAMap.h:80</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a55538cab9a46adb5c5acb39616439ef4"><div class="ttname"><a href="classripple_1_1SHAMap.html#a55538cab9a46adb5c5acb39616439ef4">ripple::SHAMap::getNodeFat</a></div><div class="ttdeci">bool getNodeFat(SHAMapNodeID const &wanted, std::vector< std::pair< SHAMapNodeID, Blob > > &data, bool fatLeaves, std::uint32_t depth) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00415">SHAMapSync.cpp:415</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a557fd5f882aeb18069b37656a48f902b"><div class="ttname"><a href="classripple_1_1SHAMap.html#a557fd5f882aeb18069b37656a48f902b">ripple::SHAMap::finishFetch</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > finishFetch(SHAMapHash const &hash, std::shared_ptr< NodeObject > const &object) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00158">SHAMap.cpp:158</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a569baa82267b09d725839feafe6eedc0"><div class="ttname"><a href="classripple_1_1SHAMap.html#a569baa82267b09d725839feafe6eedc0">ripple::SHAMap::addGiveItem</a></div><div class="ttdeci">bool addGiveItem(SHAMapNodeType type, boost::intrusive_ptr< SHAMapItem const > item)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00784">SHAMap.cpp:784</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a57c9afd6af077bbca5efc4ee640c7a2d"><div class="ttname"><a href="classripple_1_1SHAMap.html#a57c9afd6af077bbca5efc4ee640c7a2d">ripple::SHAMap::walkTowardsKey</a></div><div class="ttdeci">SHAMapLeafNode * walkTowardsKey(uint256 const &id, SharedPtrNodeStack *stack=nullptr) const</div><div class="ttdoc">Walk towards the specified id, returning the node.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00112">SHAMap.cpp:112</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a586781012c019333e8286bf824310fd2"><div class="ttname"><a href="classripple_1_1SHAMap.html#a586781012c019333e8286bf824310fd2">ripple::SHAMap::descend</a></div><div class="ttdeci">SHAMapTreeNode * descend(SHAMapInnerNode *, int branch) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00298">SHAMap.cpp:298</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a5902b212b3da87e522eef58c6c0c83e9"><div class="ttname"><a href="classripple_1_1SHAMap.html#a5902b212b3da87e522eef58c6c0c83e9">ripple::SHAMap::peekNextItem</a></div><div class="ttdeci">SHAMapLeafNode const * peekNextItem(uint256 const &id, SharedPtrNodeStack &stack) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00562">SHAMap.cpp:562</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a5ae13bc823d7e3cbdc4d784a04f29edb"><div class="ttname"><a href="classripple_1_1SHAMap.html#a5ae13bc823d7e3cbdc4d784a04f29edb">ripple::SHAMap::clearSynching</a></div><div class="ttdeci">void clearSynching()</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00604">SHAMap.h:604</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a5c233c58f744565df9d65b6189e42741"><div class="ttname"><a href="classripple_1_1SHAMap.html#a5c233c58f744565df9d65b6189e42741">ripple::SHAMap::setImmutable</a></div><div class="ttdeci">void setImmutable()</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00583">SHAMap.h:583</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a5c78c5b45614fa7b5f7ecebbc7185944"><div class="ttname"><a href="classripple_1_1SHAMap.html#a5c78c5b45614fa7b5f7ecebbc7185944">ripple::SHAMap::addKnownNode</a></div><div class="ttdeci">SHAMapAddNode addKnownNode(SHAMapNodeID const &nodeID, Slice const &rawNode, SHAMapSyncFilter *filter)</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00560">SHAMapSync.cpp:560</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a5e0309dab2d67386ce24c8b80ff085d3"><div class="ttname"><a href="classripple_1_1SHAMap.html#a5e0309dab2d67386ce24c8b80ff085d3">ripple::SHAMap::canonicalize</a></div><div class="ttdeci">void canonicalize(SHAMapHash const &hash, intr_ptr::SharedPtr< SHAMapTreeNode > &) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l01214">SHAMap.cpp:1214</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a64ade0336e5125b3ae011da2a97a453d"><div class="ttname"><a href="classripple_1_1SHAMap.html#a64ade0336e5125b3ae011da2a97a453d">ripple::SHAMap::addRootNode</a></div><div class="ttdeci">SHAMapAddNode addRootNode(SHAMapHash const &hash, Slice const &rootNode, SHAMapSyncFilter *filter)</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00516">SHAMapSync.cpp:516</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a64d84916fb3113b9c855dbdad85cc0c2"><div class="ttname"><a href="classripple_1_1SHAMap.html#a64d84916fb3113b9c855dbdad85cc0c2">ripple::SHAMap::walkSubTree</a></div><div class="ttdeci">int walkSubTree(bool doWrite, NodeObjectType t)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l01028">SHAMap.cpp:1028</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a69277b2085232dc4bde1cd6eda4f0791"><div class="ttname"><a href="classripple_1_1SHAMap.html#a69277b2085232dc4bde1cd6eda4f0791">ripple::SHAMap::setLedgerSeq</a></div><div class="ttdeci">void setLedgerSeq(std::uint32_t lseq)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00577">SHAMap.h:577</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a71caeac6f4a3bce67cc8476a440509c1"><div class="ttname"><a href="classripple_1_1SHAMap.html#a71caeac6f4a3bce67cc8476a440509c1">ripple::SHAMap::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00742">SHAMap.h:742</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a721b11739ad539851737443deeccf96b"><div class="ttname"><a href="classripple_1_1SHAMap.html#a721b11739ad539851737443deeccf96b">ripple::SHAMap::invariants</a></div><div class="ttdeci">void invariants() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l01229">SHAMap.cpp:1229</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a73d3eb716abe882fd5ea183d6d13a7e3"><div class="ttname"><a href="classripple_1_1SHAMap.html#a73d3eb716abe882fd5ea183d6d13a7e3">ripple::SHAMap::serializeRoot</a></div><div class="ttdeci">void serializeRoot(Serializer &s) const</div><div class="ttdoc">Serializes the root in a format appropriate for sending over the wire.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00510">SHAMapSync.cpp:510</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a754474c80816f12e58e87114709ebbcf"><div class="ttname"><a href="classripple_1_1SHAMap.html#a754474c80816f12e58e87114709ebbcf">ripple::SHAMap::addItem</a></div><div class="ttdeci">bool addItem(SHAMapNodeType type, boost::intrusive_ptr< SHAMapItem const > item)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00863">SHAMap.cpp:863</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a83efcf0959f82f436e05b9b138a58efc"><div class="ttname"><a href="classripple_1_1SHAMap.html#a83efcf0959f82f436e05b9b138a58efc">ripple::SHAMap::upper_bound</a></div><div class="ttdeci">const_iterator upper_bound(uint256 const &id) const</div><div class="ttdoc">Find the first item after the given item.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00621">SHAMap.cpp:621</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a8a20e910f929701bee2a43d408dd7afa"><div class="ttname"><a href="classripple_1_1SHAMap.html#a8a20e910f929701bee2a43d408dd7afa">ripple::SHAMap::hasInnerNode</a></div><div class="ttdeci">bool hasInnerNode(SHAMapNodeID const &nodeID, SHAMapHash const &hash) const</div><div class="ttdoc">Does this map have this inner node?</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00755">SHAMapSync.cpp:755</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a8c0d4938e4e75cabe03cdc64aaa2e7f2"><div class="ttname"><a href="classripple_1_1SHAMap.html#a8c0d4938e4e75cabe03cdc64aaa2e7f2">ripple::SHAMap::writeNode</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > writeNode(NodeObjectType t, intr_ptr::SharedPtr< SHAMapTreeNode > node) const</div><div class="ttdoc">write and canonicalize modified node</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00976">SHAMap.cpp:976</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a8d7a950162ef12667903e34175a9316f"><div class="ttname"><a href="classripple_1_1SHAMap.html#a8d7a950162ef12667903e34175a9316f">ripple::SHAMap::setFull</a></div><div class="ttdeci">void setFull()</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00571">SHAMap.h:571</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a928dfcab8a0f6418364a77d80f51d2db"><div class="ttname"><a href="classripple_1_1SHAMap.html#a928dfcab8a0f6418364a77d80f51d2db">ripple::SHAMap::fetchNodeNT</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > fetchNodeNT(SHAMapHash const &hash) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00253">SHAMap.cpp:253</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a93552723ee0f47af4d6bb78115308fb1"><div class="ttname"><a href="classripple_1_1SHAMap.html#a93552723ee0f47af4d6bb78115308fb1">ripple::SHAMap::~SHAMap</a></div><div class="ttdeci">~SHAMap()=default</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a984f9b7723353ed3083a8513f9088662"><div class="ttname"><a href="classripple_1_1SHAMap.html#a984f9b7723353ed3083a8513f9088662">ripple::SHAMap::gmn_ProcessDeferredReads</a></div><div class="ttdeci">void gmn_ProcessDeferredReads(MissingNodes &)</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00247">SHAMapSync.cpp:247</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a9ab1e2b9e495808a7e7b7ce4483460a0"><div class="ttname"><a href="classripple_1_1SHAMap.html#a9ab1e2b9e495808a7e7b7ce4483460a0">ripple::SHAMap::cowid_</a></div><div class="ttdeci">std::uint32_t cowid_</div><div class="ttdoc">ID to distinguish this map for all others we're sharing nodes with.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00084">SHAMap.h:84</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a9b0dff3c3bf35efc30104c93becdc079"><div class="ttname"><a href="classripple_1_1SHAMap.html#a9b0dff3c3bf35efc30104c93becdc079">ripple::SHAMap::getHash</a></div><div class="ttdeci">SHAMapHash getHash() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00871">SHAMap.cpp:871</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_a9f99fac6b2778d1c82353fe773e3b436"><div class="ttname"><a href="classripple_1_1SHAMap.html#a9f99fac6b2778d1c82353fe773e3b436">ripple::SHAMap::walkMap</a></div><div class="ttdeci">void walkMap(std::vector< SHAMapMissingNode > &missingNodes, int maxMissing) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMapDelta_8cpp_source.html#l00226">SHAMapDelta.cpp:226</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aa021481769cad215f208aacb1c37e28a"><div class="ttname"><a href="classripple_1_1SHAMap.html#aa021481769cad215f208aacb1c37e28a">ripple::SHAMap::SHAMap</a></div><div class="ttdeci">SHAMap()=delete</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aa0fcb9d89a9f72e549c92cd38b92561b"><div class="ttname"><a href="classripple_1_1SHAMap.html#aa0fcb9d89a9f72e549c92cd38b92561b">ripple::SHAMap::walkMapParallel</a></div><div class="ttdeci">bool walkMapParallel(std::vector< SHAMapMissingNode > &missingNodes, int maxMissing) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMapDelta_8cpp_source.html#l00268">SHAMapDelta.cpp:268</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aa24aaf2a36a562e659c918f4ca71e449"><div class="ttname"><a href="classripple_1_1SHAMap.html#aa24aaf2a36a562e659c918f4ca71e449">ripple::SHAMap::dirtyUp</a></div><div class="ttdeci">void dirtyUp(SharedPtrNodeStack &stack, uint256 const &target, intr_ptr::SharedPtr< SHAMapTreeNode > terminal)</div><div class="ttdoc">Update hashes up to the root.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00076">SHAMap.cpp:76</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aa31380dfc8ad4bc15dfdba337c67d136"><div class="ttname"><a href="classripple_1_1SHAMap.html#aa31380dfc8ad4bc15dfdba337c67d136">ripple::SHAMap::updateGiveItem</a></div><div class="ttdeci">bool updateGiveItem(SHAMapNodeType type, boost::intrusive_ptr< SHAMapItem const > item)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00883">SHAMap.cpp:883</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aa349ff193020caf2178e28ef6392e675"><div class="ttname"><a href="classripple_1_1SHAMap.html#aa349ff193020caf2178e28ef6392e675">ripple::SHAMap::peekFirstItem</a></div><div class="ttdeci">SHAMapLeafNode const * peekFirstItem(SharedPtrNodeStack &stack) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00547">SHAMap.cpp:547</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aa36f13285448ce66cdc04a0b7f4d8af7"><div class="ttname"><a href="classripple_1_1SHAMap.html#aa36f13285448ce66cdc04a0b7f4d8af7">ripple::SHAMap::isValid</a></div><div class="ttdeci">bool isValid() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00610">SHAMap.h:610</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aa5a110117bc3ae3de8a49ba06c21fa04"><div class="ttname"><a href="classripple_1_1SHAMap.html#aa5a110117bc3ae3de8a49ba06c21fa04">ripple::SHAMap::getMissingNodes</a></div><div class="ttdeci">std::vector< std::pair< SHAMapNodeID, uint256 > > getMissingNodes(int maxNodes, SHAMapSyncFilter *filter)</div><div class="ttdoc">Check for nodes in the SHAMap not available.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00299">SHAMapSync.cpp:299</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aaa27ab91ea652451c34d80bd49a77dc4"><div class="ttname"><a href="classripple_1_1SHAMap.html#aaa27ab91ea652451c34d80bd49a77dc4">ripple::SHAMap::fetchNode</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > fetchNode(SHAMapHash const &hash) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00265">SHAMap.cpp:265</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ab1253302364db2ba0314e437075ef9d4"><div class="ttname"><a href="classripple_1_1SHAMap.html#ab1253302364db2ba0314e437075ef9d4">ripple::SHAMap::visitNodes</a></div><div class="ttdeci">void visitNodes(std::function< bool(SHAMapTreeNode &)> const &function) const</div><div class="ttdoc">Visit every node in this SHAMap.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00021">SHAMapSync.cpp:21</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ab1c8e6f8066b79c3d025e6609e20918e"><div class="ttname"><a href="classripple_1_1SHAMap.html#ab1c8e6f8066b79c3d025e6609e20918e">ripple::SHAMap::hasLeafNode</a></div><div class="ttdeci">bool hasLeafNode(uint256 const &tag, SHAMapHash const &hash) const</div><div class="ttdoc">Does this map have this leaf node?</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00779">SHAMapSync.cpp:779</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aba74c54fa2d3bd6693e34c8c3666b0d2"><div class="ttname"><a href="classripple_1_1SHAMap.html#aba74c54fa2d3bd6693e34c8c3666b0d2">ripple::SHAMap::fetchNodeFromDB</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > fetchNodeFromDB(SHAMapHash const &hash) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00150">SHAMap.cpp:150</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_abed452f4a2d8495e60dfcfc3473ceb7d"><div class="ttname"><a href="classripple_1_1SHAMap.html#abed452f4a2d8495e60dfcfc3473ceb7d">ripple::SHAMap::operator=</a></div><div class="ttdeci">SHAMap & operator=(SHAMap const &)=delete</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ac12fd99d7dee738a86015218f6e48433"><div class="ttname"><a href="classripple_1_1SHAMap.html#ac12fd99d7dee738a86015218f6e48433">ripple::SHAMap::SHAMap</a></div><div class="ttdeci">SHAMap(SHAMap const &)=delete</div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ac18383f9dc9dbb7e4bfaadbb55cfb4d2"><div class="ttname"><a href="classripple_1_1SHAMap.html#ac18383f9dc9dbb7e4bfaadbb55cfb4d2">ripple::SHAMap::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00736">SHAMap.h:736</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ac5fd4779ce479a1a40f23e738c1a026d"><div class="ttname"><a href="classripple_1_1SHAMap.html#ac5fd4779ce479a1a40f23e738c1a026d">ripple::SHAMap::descendNoStore</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > descendNoStore(SHAMapInnerNode &, int branch) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00331">SHAMap.cpp:331</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ac947f8afc3f3327f2ccef35be5e6f419"><div class="ttname"><a href="classripple_1_1SHAMap.html#ac947f8afc3f3327f2ccef35be5e6f419">ripple::SHAMap::setSynching</a></div><div class="ttdeci">void setSynching()</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00598">SHAMap.h:598</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_acbedaf0be7acd2816e01be821fdc4697"><div class="ttname"><a href="classripple_1_1SHAMap.html#acbedaf0be7acd2816e01be821fdc4697">ripple::SHAMap::ledgerSeq_</a></div><div class="ttdeci">std::uint32_t ledgerSeq_</div><div class="ttdoc">The sequence of the ledger that this map references, if any.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00087">SHAMap.h:87</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ad34b4b3f4c26154a0ad8e63ada075f88"><div class="ttname"><a href="classripple_1_1SHAMap.html#ad34b4b3f4c26154a0ad8e63ada075f88">ripple::SHAMap::delItem</a></div><div class="ttdeci">bool delItem(uint256 const &id)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00702">SHAMap.cpp:702</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ad530edc60b33c2eb590d2be1cb12f2de"><div class="ttname"><a href="classripple_1_1SHAMap.html#ad530edc60b33c2eb590d2be1cb12f2de">ripple::SHAMap::fetchRoot</a></div><div class="ttdeci">bool fetchRoot(SHAMapHash const &hash, SHAMapSyncFilter *filter)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00928">SHAMap.cpp:928</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ada99838217423830f916a2e194023fd9"><div class="ttname"><a href="classripple_1_1SHAMap.html#ada99838217423830f916a2e194023fd9">ripple::SHAMap::lower_bound</a></div><div class="ttdeci">const_iterator lower_bound(uint256 const &id) const</div><div class="ttdoc">Find the object with the greatest object id smaller than the input id.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00658">SHAMap.cpp:658</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_adb124506e012e85f807355a5a58c0ce7"><div class="ttname"><a href="classripple_1_1SHAMap.html#adb124506e012e85f807355a5a58c0ce7">ripple::SHAMap::visitDifferences</a></div><div class="ttdeci">void visitDifferences(SHAMap const *have, std::function< bool(SHAMapTreeNode const &)> const &) const</div><div class="ttdoc">Visit every node in this SHAMap that is not present in the specified SHAMap.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00083">SHAMapSync.cpp:83</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_adb6fc2f28765c0df0c93065d52a3a988"><div class="ttname"><a href="classripple_1_1SHAMap.html#adb6fc2f28765c0df0c93065d52a3a988">ripple::SHAMap::visitLeaves</a></div><div class="ttdeci">void visitLeaves(std::function< void(boost::intrusive_ptr< SHAMapItem const > const &)> const &) const</div><div class="ttdoc">Visit every leaf node in this SHAMap.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00009">SHAMapSync.cpp:9</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_adeb87f388897ca07dfc7b3073edcb3f9"><div class="ttname"><a href="classripple_1_1SHAMap.html#adeb87f388897ca07dfc7b3073edcb3f9">ripple::SHAMap::lastBelow</a></div><div class="ttdeci">SHAMapLeafNode * lastBelow(intr_ptr::SharedPtr< SHAMapTreeNode > node, SharedPtrNodeStack &stack, int branch=branchFactor) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00481">SHAMap.cpp:481</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ae278ac777321e41b9b7b1614e28675e2"><div class="ttname"><a href="classripple_1_1SHAMap.html#ae278ac777321e41b9b7b1614e28675e2">ripple::SHAMap::walkBranch</a></div><div class="ttdeci">bool walkBranch(SHAMapTreeNode *node, boost::intrusive_ptr< SHAMapItem const > const &otherMapItem, bool isFirstMap, Delta &differences, int &maxCount) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMapDelta_8cpp_source.html#l00020">SHAMapDelta.cpp:20</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ae3639927ea223b4352d9cfe060827944"><div class="ttname"><a href="classripple_1_1SHAMap.html#ae3639927ea223b4352d9cfe060827944">ripple::SHAMap::snapShot</a></div><div class="ttdeci">std::shared_ptr< SHAMap > snapShot(bool isMutable) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00070">SHAMap.cpp:70</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_ae6fddc16c43b58e725afde738f4a70a8"><div class="ttname"><a href="classripple_1_1SHAMap.html#ae6fddc16c43b58e725afde738f4a70a8">ripple::SHAMap::flushDirty</a></div><div class="ttdeci">int flushDirty(NodeObjectType t)</div><div class="ttdoc">Flush modified nodes to the nodestore and convert them to shared.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l01021">SHAMap.cpp:1021</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aee5ccc6cf9fa63aa25765227007893fb"><div class="ttname"><a href="classripple_1_1SHAMap.html#aee5ccc6cf9fa63aa25765227007893fb">ripple::SHAMap::unshare</a></div><div class="ttdeci">int unshare()</div><div class="ttdoc">Convert any modified nodes to shared.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l01014">SHAMap.cpp:1014</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_aeefbe6856af92905c637372457446927"><div class="ttname"><a href="classripple_1_1SHAMap.html#aeefbe6856af92905c637372457446927">ripple::SHAMap::checkFilter</a></div><div class="ttdeci">intr_ptr::SharedPtr< SHAMapTreeNode > checkFilter(SHAMapHash const &hash, SHAMapSyncFilter *filter) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00197">SHAMap.cpp:197</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_af0792d9d5d0e62b966754dcdee79e1ea"><div class="ttname"><a href="classripple_1_1SHAMap.html#af0792d9d5d0e62b966754dcdee79e1ea">ripple::SHAMap::deepCompare</a></div><div class="ttdeci">bool deepCompare(SHAMap &other) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00683">SHAMapSync.cpp:683</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_af382ac10dccf3f4b82c64548cd05a677"><div class="ttname"><a href="classripple_1_1SHAMap.html#af382ac10dccf3f4b82c64548cd05a677">ripple::SHAMap::verifyProofPath</a></div><div class="ttdeci">static bool verifyProofPath(uint256 const &rootHash, uint256 const &key, std::vector< Blob > const &path)</div><div class="ttdoc">Verify the proof path.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00843">SHAMapSync.cpp:843</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_af4163b9fee79d216cfe6140fdac2e52f"><div class="ttname"><a href="classripple_1_1SHAMap.html#af4163b9fee79d216cfe6140fdac2e52f">ripple::SHAMap::belowHelper</a></div><div class="ttdeci">SHAMapLeafNode * belowHelper(intr_ptr::SharedPtr< SHAMapTreeNode > node, SharedPtrNodeStack &stack, int branch, std::tuple< int, std::function< bool(int)>, std::function< void(int &)> > const &loopParams) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00438">SHAMap.cpp:438</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_af6a56124ffdd304fb80e45c9b8ae7e62"><div class="ttname"><a href="classripple_1_1SHAMap.html#af6a56124ffdd304fb80e45c9b8ae7e62">ripple::SHAMap::findKey</a></div><div class="ttdeci">SHAMapLeafNode * findKey(uint256 const &id) const</div><div class="ttdoc">Return nullptr if key not found.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00141">SHAMap.cpp:141</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_af8599964238eb94d795606f220654db9"><div class="ttname"><a href="classripple_1_1SHAMap.html#af8599964238eb94d795606f220654db9">ripple::SHAMap::branchFactor</a></div><div class="ttdeci">static constexpr unsigned int branchFactor</div><div class="ttdoc">Number of children each non-leaf node has (the 'radix tree' part of the map)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00098">SHAMap.h:98</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_afcf889076d5459b52eb9eb8248344f5c"><div class="ttname"><a href="classripple_1_1SHAMap.html#afcf889076d5459b52eb9eb8248344f5c">ripple::SHAMap::getProofPath</a></div><div class="ttdeci">std::optional< std::vector< Blob > > getProofPath(uint256 const &key) const</div><div class="ttdoc">Get the proof path of the key.</div><div class="ttdef"><b>Definition</b> <a href="SHAMapSync_8cpp_source.html#l00807">SHAMapSync.cpp:807</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SHAMap_html_affd46314b2492a399d8310e991599731"><div class="ttname"><a href="classripple_1_1SHAMap.html#affd46314b2492a399d8310e991599731">ripple::SHAMap::firstBelow</a></div><div class="ttdeci">SHAMapLeafNode * firstBelow(intr_ptr::SharedPtr< SHAMapTreeNode >, SharedPtrNodeStack &stack, int branch=0) const</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8cpp_source.html#l00493">SHAMap.cpp:493</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Serializer_html"><div class="ttname"><a href="classripple_1_1Serializer.html">ripple::Serializer</a></div><div class="ttdef"><b>Definition</b> <a href="Serializer_8h_source.html#l00021">Serializer.h:22</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1SharedIntrusive_html"><div class="ttname"><a href="classripple_1_1SharedIntrusive.html">ripple::SharedIntrusive</a></div><div class="ttdoc">A shared intrusive pointer class that supports weak pointers.</div><div class="ttdef"><b>Definition</b> <a href="IntrusivePointer_8h_source.html#l00068">IntrusivePointer.h:69</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1Slice_html"><div class="ttname"><a href="classripple_1_1Slice.html">ripple::Slice</a></div><div class="ttdoc">An immutable linear range of bytes.</div><div class="ttdef"><b>Definition</b> <a href="Slice_8h_source.html#l00026">Slice.h:27</a></div></div>
|
|
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint< 256 ></a></div></div>
|
|
<div class="ttc" id="acondition_variable_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/condition_variable.html">std::condition_variable</a></div></div>
|
|
<div class="ttc" id="afunction_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a></div></div>
|
|
<div class="ttc" id="ainteger_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a></div></div>
|
|
<div class="ttc" id="aiterator_tags_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/iterator_tags.html">std::forward_iterator_tag</a></div></div>
|
|
<div class="ttc" id="amap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a></div></div>
|
|
<div class="ttc" id="amutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/mutex.html">std::mutex</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition</b> <a href="algorithm_8h_source.html#l00006">algorithm.h:6</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a21a6d6b07d2d712568f3565adf30ae21"><div class="ttname"><a href="namespaceripple.html#a21a6d6b07d2d712568f3565adf30ae21">ripple::operator!=</a></div><div class="ttdeci">bool operator!=(Buffer const &lhs, Buffer const &rhs) noexcept</div><div class="ttdef"><b>Definition</b> <a href="Buffer_8h_source.html#l00213">Buffer.h:213</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a49003667116eb98c6e966f36e5dd1c77"><div class="ttname"><a href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77">ripple::SHAMapState</a></div><div class="ttdeci">SHAMapState</div><div class="ttdoc">Describes the current state of a given SHAMap.</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00028">SHAMap.h:28</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a49003667116eb98c6e966f36e5dd1c77a11efd9ae6f76e706e3f1b34d97584ebc"><div class="ttname"><a href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a11efd9ae6f76e706e3f1b34d97584ebc">ripple::SHAMapState::Immutable</a></div><div class="ttdeci">@ Immutable</div><div class="ttdoc">The map is set in stone and cannot be changed.</div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a49003667116eb98c6e966f36e5dd1c77a4bbb8f967da6d1a610596d7257179c2b"><div class="ttname"><a href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a4bbb8f967da6d1a610596d7257179c2b">ripple::SHAMapState::Invalid</a></div><div class="ttdeci">@ Invalid</div><div class="ttdoc">The map is known to not be valid.</div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a49003667116eb98c6e966f36e5dd1c77a508354801fa1ec5fe0d75f1bdaa4d07f"><div class="ttname"><a href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a508354801fa1ec5fe0d75f1bdaa4d07f">ripple::SHAMapState::Synching</a></div><div class="ttdeci">@ Synching</div><div class="ttdoc">The map's hash is fixed but valid nodes may be missing and can be added.</div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a49003667116eb98c6e966f36e5dd1c77a9361bbf1ba577c105067533413bcfaea"><div class="ttname"><a href="namespaceripple.html#a49003667116eb98c6e966f36e5dd1c77a9361bbf1ba577c105067533413bcfaea">ripple::SHAMapState::Modifying</a></div><div class="ttdeci">@ Modifying</div><div class="ttdoc">The map is in flux and objects can be added and removed.</div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a57d7e7b27df7e719fdf5569f96be60a3"><div class="ttname"><a href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3">ripple::NodeObjectType</a></div><div class="ttdeci">NodeObjectType</div><div class="ttdoc">The types of node objects.</div><div class="ttdef"><b>Definition</b> <a href="NodeObject_8h_source.html#l00013">NodeObject.h:13</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a5d9fe757c37a7602a883d30b14e1bf3c"><div class="ttname"><a href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3c">ripple::SHAMapType</a></div><div class="ttdeci">SHAMapType</div><div class="ttdef"><b>Definition</b> <a href="SHAMapMissingNode_8h_source.html#l00014">SHAMapMissingNode.h:14</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_a6eaff79c38106bc3b27326d878c902d3a7c6c2e5d48ab37a007cbf70d3ea25fa4"><div class="ttname"><a href="namespaceripple.html#a6eaff79c38106bc3b27326d878c902d3a7c6c2e5d48ab37a007cbf70d3ea25fa4">ripple::ListDisposition::pending</a></div><div class="ttdeci">@ pending</div><div class="ttdoc">List will be valid in the future.</div></div>
|
|
<div class="ttc" id="anamespaceripple_html_adb9995d7c8e8a2aa3d702b73edfa0672"><div class="ttname"><a href="namespaceripple.html#adb9995d7c8e8a2aa3d702b73edfa0672">ripple::operator==</a></div><div class="ttdeci">constexpr bool operator==(base_uint< Bits, Tag > const &lhs, base_uint< Bits, Tag > const &rhs)</div><div class="ttdef"><b>Definition</b> <a href="base__uint_8h_source.html#l00566">base_uint.h:566</a></div></div>
|
|
<div class="ttc" id="anamespaceripple_html_ae0356b1de00f841c554c830be509dd58"><div class="ttname"><a href="namespaceripple.html#ae0356b1de00f841c554c830be509dd58">ripple::SHAMapNodeType</a></div><div class="ttdeci">SHAMapNodeType</div><div class="ttdef"><b>Definition</b> <a href="SHAMapTreeNode_8h_source.html#l00024">SHAMapTreeNode.h:24</a></div></div>
|
|
<div class="ttc" id="anamespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace.</div></div>
|
|
<div class="ttc" id="anullptr_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/nullptr_t.html">std::nullptr_t</a></div></div>
|
|
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a></div></div>
|
|
<div class="ttc" id="apair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></div></div>
|
|
<div class="ttc" id="aptrdiff_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/ptrdiff_t.html">std::ptrdiff_t</a></div></div>
|
|
<div class="ttc" id="aset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/set.html">set</a></div></div>
|
|
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div></div>
|
|
<div class="ttc" id="astack_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/stack.html">stack</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html">ripple::SHAMap::MissingNodes</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00493">SHAMap.h:494</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a0962b01670b88cd6de600fe072a2a860"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a0962b01670b88cd6de600fe072a2a860">ripple::SHAMap::MissingNodes::missingHashes_</a></div><div class="ttdeci">std::set< SHAMapHash > missingHashes_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00508">SHAMap.h:508</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a1053cf953a1f9d97319bd05fd1ee7510"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a1053cf953a1f9d97319bd05fd1ee7510">ripple::SHAMap::MissingNodes::stack_</a></div><div class="ttdeci">std::stack< StackEntry, std::deque< StackEntry > > stack_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00523">SHAMap.h:523</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a2a4e6a108abbbee0b809c01349de9dbc"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a2a4e6a108abbbee0b809c01349de9dbc">ripple::SHAMap::MissingNodes::deferred_</a></div><div class="ttdeci">int deferred_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00532">SHAMap.h:532</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a2bb0e112bf72fe63d733867f480d11b7"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a2bb0e112bf72fe63d733867f480d11b7">ripple::SHAMap::MissingNodes::deferCondVar_</a></div><div class="ttdeci">std::condition_variable deferCondVar_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00534">SHAMap.h:534</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a2ed60db474e8c9072068402313d16d0d"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a2ed60db474e8c9072068402313d16d0d">ripple::SHAMap::MissingNodes::deferLock_</a></div><div class="ttdeci">std::mutex deferLock_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00533">SHAMap.h:533</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a36ea9c4314d455dd02c5634d4938f673"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a36ea9c4314d455dd02c5634d4938f673">ripple::SHAMap::MissingNodes::StackEntry</a></div><div class="ttdeci">std::tuple< SHAMapInnerNode *, SHAMapNodeID, int, int, bool > StackEntry</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00511">SHAMap.h:516</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a3ec85f310a1155ddcca197414136b4a0"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a3ec85f310a1155ddcca197414136b4a0">ripple::SHAMap::MissingNodes::MissingNodes</a></div><div class="ttdeci">MissingNodes(int max, SHAMapSyncFilter *filter, int maxDefer, std::uint32_t generation)</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00541">SHAMap.h:541</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a55ea2bafa18548792a05de96107370de"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a55ea2bafa18548792a05de96107370de">ripple::SHAMap::MissingNodes::max_</a></div><div class="ttdeci">int max_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00501">SHAMap.h:501</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a6394397a34fe323b6ef27b77c21d38d5"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a6394397a34fe323b6ef27b77c21d38d5">ripple::SHAMap::MissingNodes::generation_</a></div><div class="ttdeci">std::uint32_t generation_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00504">SHAMap.h:504</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a64493410dec801e06486468f8ed5b4d0"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a64493410dec801e06486468f8ed5b4d0">ripple::SHAMap::MissingNodes::missingNodes_</a></div><div class="ttdeci">std::vector< std::pair< SHAMapNodeID, uint256 > > missingNodes_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00507">SHAMap.h:507</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a832dcc91d7ffd8b7ab48ec0f3b801c09"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a832dcc91d7ffd8b7ab48ec0f3b801c09">ripple::SHAMap::MissingNodes::MissingNodes</a></div><div class="ttdeci">MissingNodes()=delete</div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_a8db1cda546c53840b771639c221fec26"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#a8db1cda546c53840b771639c221fec26">ripple::SHAMap::MissingNodes::MissingNodes</a></div><div class="ttdeci">MissingNodes(MissingNodes const &)=delete</div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_ab59a6467a960901f7e8053f9901af6c5"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#ab59a6467a960901f7e8053f9901af6c5">ripple::SHAMap::MissingNodes::operator=</a></div><div class="ttdeci">MissingNodes & operator=(MissingNodes const &)=delete</div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_ac28d9d435ad4005d2e01ee1b9a509b73"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#ac28d9d435ad4005d2e01ee1b9a509b73">ripple::SHAMap::MissingNodes::maxDefer_</a></div><div class="ttdeci">int const maxDefer_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00503">SHAMap.h:503</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_ad412b8d16396e0c89bcf9b7673f0f450"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#ad412b8d16396e0c89bcf9b7673f0f450">ripple::SHAMap::MissingNodes::resumes_</a></div><div class="ttdeci">std::map< SHAMapInnerNode *, SHAMapNodeID > resumes_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00539">SHAMap.h:539</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_ad9c9b5733c3b993c3d4e46b0695ae116"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#ad9c9b5733c3b993c3d4e46b0695ae116">ripple::SHAMap::MissingNodes::filter_</a></div><div class="ttdeci">SHAMapSyncFilter * filter_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00502">SHAMap.h:502</a></div></div>
|
|
<div class="ttc" id="astructripple_1_1SHAMap_1_1MissingNodes_html_ade7ed01ff01b6207f63f5d7919c3f987"><div class="ttname"><a href="structripple_1_1SHAMap_1_1MissingNodes.html#ade7ed01ff01b6207f63f5d7919c3f987">ripple::SHAMap::MissingNodes::finishedReads_</a></div><div class="ttdeci">std::vector< DeferredNode > finishedReads_</div><div class="ttdef"><b>Definition</b> <a href="SHAMap_8h_source.html#l00535">SHAMap.h:535</a></div></div>
|
|
<div class="ttc" id="atuple_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple</a></div></div>
|
|
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/vector.html">vector</a></div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
|
</small></address>
|
|
</body>
|
|
</html>
|