This commit is contained in:
manojsdoshi
2020-06-30 22:25:39 +00:00
parent afa79b0356
commit 76ee98eab2
3262 changed files with 114349 additions and 92216 deletions

View File

@@ -162,7 +162,7 @@ $(function() {
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">using namespace </span><a class="code" href="namespacebeast_1_1severities.html">beast::severities</a>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classripple_1_1test_1_1SuiteJournal.html">test::SuiteJournal</a> journal(<span class="stringliteral">&quot;SHAMapSync_test&quot;</span>, *<span class="keyword">this</span>);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classripple_1_1tests_1_1TestFamily.html">TestFamily</a> f(journal), f2(journal);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classripple_1_1tests_1_1TestNodeFamily.html">TestNodeFamily</a> f(journal), f2(journal);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classripple_1_1SHAMap.html">SHAMap</a> source(<a class="code" href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3ca88c189a42c87aa49d667fc8ab76bc323">SHAMapType::FREE</a>, f);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classripple_1_1SHAMap.html">SHAMap</a> destination(<a class="code" href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3ca88c189a42c87aa49d667fc8ab76bc323">SHAMapType::FREE</a>, f2);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
@@ -211,86 +211,85 @@ $(function() {
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; .addRootNode(</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; source.<a class="code" href="classripple_1_1SHAMap.html#a9b0dff3c3bf35efc30104c93becdc079">getHash</a>(),</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(*gotNodes_a.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()),</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespaceripple.html#ac8683dfc227ea8c196fc4e4f2080e36da82251cdf5d561efb6b1838672e116253">snfWIRE</a>,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; .isGood());</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">do</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; {</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; f.clock().advance(<a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>(1));</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">// get the list of nodes we know we need</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">auto</span> nodesMissing = destination.<a class="code" href="classripple_1_1SHAMap.html#aa5a110117bc3ae3de8a49ba06c21fa04">getMissingNodes</a>(2048, <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (nodesMissing.empty())</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">// get as many nodes as possible based on this information</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;SHAMapNodeID&gt;</a> gotNodeIDs_b;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Blob&gt;</a> gotNodes_b;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; it : nodesMissing)</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// Don&#39;t use BEAST_EXPECT here b/c it will be called a</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">// non-deterministic number of times and the number of tests run</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// should be deterministic</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">if</span> (!source.<a class="code" href="classripple_1_1SHAMap.html#a10f11497fb044c732384b4e75f244db2">getNodeFat</a>(</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; it.first,</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; gotNodeIDs_b,</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; gotNodes_b,</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceripple.html#a37fc7093cfe63d4e2cab63d40aa813dd">rand_bool</a>(<a class="code" href="classripple_1_1tests_1_1SHAMapSync__test.html#aabde780a2b194f9b4b15717eac0926a3">eng_</a>),</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="namespaceripple.html#a71a6227fec78db0b06595d62c06b25dc">rand_int</a>(<a class="code" href="classripple_1_1tests_1_1SHAMapSync__test.html#aabde780a2b194f9b4b15717eac0926a3">eng_</a>, 2)))</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; fail(<span class="stringliteral">&quot;&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// Don&#39;t use BEAST_EXPECT here b/c it will be called a</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// non-deterministic number of times and the number of tests run</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// should be deterministic</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">if</span> (gotNodeIDs_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() != gotNodes_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() ||</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; gotNodeIDs_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>())</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; fail(<span class="stringliteral">&quot;&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">for</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i &lt; gotNodeIDs_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); ++i)</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="comment">// Don&#39;t use BEAST_EXPECT here b/c it will be called a</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// non-deterministic number of times and the number of tests run</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="comment">// should be deterministic</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (!destination</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; .addKnownNode(</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; gotNodeIDs_b[i], <a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(gotNodes_b[i]), <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; .isUseful())</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; fail(<span class="stringliteral">&quot;&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; } <span class="keywordflow">while</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; destination.<a class="code" href="classripple_1_1SHAMap.html#a5ae13bc823d7e3cbdc4d784a04f29edb">clearSynching</a>();</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; BEAST_EXPECT(source.<a class="code" href="classripple_1_1SHAMap.html#af0792d9d5d0e62b966754dcdee79e1ea">deepCompare</a>(destination));</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; log &lt;&lt; <span class="stringliteral">&quot;Checking destination invariants...&quot;</span> &lt;&lt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; destination.<a class="code" href="classripple_1_1SHAMap.html#a721b11739ad539851737443deeccf96b">invariants</a>();</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;};</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<a class="code" href="namespaceripple_1_1tests.html#a884eb8772a4441d11bd11b7ccdd18ea2">BEAST_DEFINE_TESTSUITE</a>(SHAMapSync, shamap, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;} <span class="comment">// namespace tests</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; .isGood());</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">do</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; f.clock().advance(<a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>(1));</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">// get the list of nodes we know we need</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keyword">auto</span> nodesMissing = destination.<a class="code" href="classripple_1_1SHAMap.html#aa5a110117bc3ae3de8a49ba06c21fa04">getMissingNodes</a>(2048, <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (nodesMissing.empty())</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">// get as many nodes as possible based on this information</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;SHAMapNodeID&gt;</a> gotNodeIDs_b;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Blob&gt;</a> gotNodes_b;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; it : nodesMissing)</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">// Don&#39;t use BEAST_EXPECT here b/c it will be called a</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// non-deterministic number of times and the number of tests run</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">// should be deterministic</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">if</span> (!source.<a class="code" href="classripple_1_1SHAMap.html#a10f11497fb044c732384b4e75f244db2">getNodeFat</a>(</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; it.first,</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; gotNodeIDs_b,</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; gotNodes_b,</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="namespaceripple.html#a37fc7093cfe63d4e2cab63d40aa813dd">rand_bool</a>(<a class="code" href="classripple_1_1tests_1_1SHAMapSync__test.html#aabde780a2b194f9b4b15717eac0926a3">eng_</a>),</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="namespaceripple.html#a71a6227fec78db0b06595d62c06b25dc">rand_int</a>(<a class="code" href="classripple_1_1tests_1_1SHAMapSync__test.html#aabde780a2b194f9b4b15717eac0926a3">eng_</a>, 2)))</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; fail(<span class="stringliteral">&quot;&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// Don&#39;t use BEAST_EXPECT here b/c it will be called a</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// non-deterministic number of times and the number of tests run</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// should be deterministic</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> (gotNodeIDs_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() != gotNodes_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() ||</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; gotNodeIDs_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>())</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; fail(<span class="stringliteral">&quot;&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">for</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> i = 0; i &lt; gotNodeIDs_b.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); ++i)</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="comment">// Don&#39;t use BEAST_EXPECT here b/c it will be called a</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="comment">// non-deterministic number of times and the number of tests run</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// should be deterministic</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> (!destination</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; .addKnownNode(</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; gotNodeIDs_b[i], <a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(gotNodes_b[i]), <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; .isUseful())</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; fail(<span class="stringliteral">&quot;&quot;</span>, __FILE__, __LINE__);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; } <span class="keywordflow">while</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; destination.<a class="code" href="classripple_1_1SHAMap.html#a5ae13bc823d7e3cbdc4d784a04f29edb">clearSynching</a>();</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; </div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; BEAST_EXPECT(source.<a class="code" href="classripple_1_1SHAMap.html#af0792d9d5d0e62b966754dcdee79e1ea">deepCompare</a>(destination));</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; log &lt;&lt; <span class="stringliteral">&quot;Checking destination invariants...&quot;</span> &lt;&lt; <a class="codeRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; destination.<a class="code" href="classripple_1_1SHAMap.html#a721b11739ad539851737443deeccf96b">invariants</a>();</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;};</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<a class="code" href="namespaceripple_1_1tests.html#a884eb8772a4441d11bd11b7ccdd18ea2">BEAST_DEFINE_TESTSUITE</a>(SHAMapSync, shamap, <a class="code" href="namespaceripple.html">ripple</a>);</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;} <span class="comment">// namespace tests</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<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#l01134">SHAMap.cpp:1134</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#l00517">SHAMap.h:517</a></div></div>
<div class="ttc" id="anamespaceripple_html_aabe37451093c21757855542d68fba3ce"><div class="ttname"><a href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">ripple::makeSlice</a></div><div class="ttdeci">std::enable_if_t&lt; std::is_same&lt; T, char &gt;::value||std::is_same&lt; T, unsigned char &gt;::value, Slice &gt; makeSlice(std::array&lt; T, N &gt; const &amp;a)</div><div class="ttdef"><b>Definition:</b> <a href="Slice_8h_source.html#l00194">Slice.h:194</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#l01137">SHAMap.cpp:1137</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#l00516">SHAMap.h:516</a></div></div>
<div class="ttc" id="anamespaceripple_html_aabe37451093c21757855542d68fba3ce"><div class="ttname"><a href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">ripple::makeSlice</a></div><div class="ttdeci">std::enable_if_t&lt; std::is_same&lt; T, char &gt;::value||std::is_same&lt; T, unsigned char &gt;::value, Slice &gt; makeSlice(std::array&lt; T, N &gt; const &amp;a)</div><div class="ttdef"><b>Definition:</b> <a href="Slice_8h_source.html#l00240">Slice.h:240</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 class="ttdoc">STL class.</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#l00791">SHAMap.cpp:791</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#l00793">SHAMap.cpp:793</a></div></div>
<div class="ttc" id="aclassripple_1_1tests_1_1SHAMapSync__test_html_aaa54cd3a34629232204777d3e28a5fa9"><div class="ttname"><a href="classripple_1_1tests_1_1SHAMapSync__test.html#aaa54cd3a34629232204777d3e28a5fa9">ripple::tests::SHAMapSync_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync__test_8cpp_source.html#l00089">SHAMapSync_test.cpp:89</a></div></div>
<div class="ttc" id="alist_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a></div><div class="ttdoc">STL class.</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 &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync_8cpp_source.html#l00682">SHAMapSync.cpp:682</a></div></div>
<div class="ttc" id="aclassripple_1_1tests_1_1TestFamily_html"><div class="ttname"><a href="classripple_1_1tests_1_1TestFamily.html">ripple::tests::TestFamily</a></div><div class="ttdef"><b>Definition:</b> <a href="common_8h_source.html#l00032">common.h:32</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMap_html_a10f11497fb044c732384b4e75f244db2"><div class="ttname"><a href="classripple_1_1SHAMap.html#a10f11497fb044c732384b4e75f244db2">ripple::SHAMap::getNodeFat</a></div><div class="ttdeci">bool getNodeFat(SHAMapNodeID node, std::vector&lt; SHAMapNodeID &gt; &amp;nodeIDs, std::vector&lt; Blob &gt; &amp;rawNode, bool fatLeaves, std::uint32_t depth) const</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync_8cpp_source.html#l00442">SHAMapSync.cpp:442</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 &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync_8cpp_source.html#l00687">SHAMapSync.cpp:687</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMap_html_a10f11497fb044c732384b4e75f244db2"><div class="ttname"><a href="classripple_1_1SHAMap.html#a10f11497fb044c732384b4e75f244db2">ripple::SHAMap::getNodeFat</a></div><div class="ttdeci">bool getNodeFat(SHAMapNodeID node, std::vector&lt; SHAMapNodeID &gt; &amp;nodeIDs, std::vector&lt; Blob &gt; &amp;rawNode, bool fatLeaves, std::uint32_t depth) const</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync_8cpp_source.html#l00447">SHAMapSync.cpp:447</a></div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a></div></div>
<div class="ttc" id="aclassripple_1_1tests_1_1TestNodeFamily_html"><div class="ttname"><a href="classripple_1_1tests_1_1TestNodeFamily.html">ripple::tests::TestNodeFamily</a></div><div class="ttdef"><b>Definition:</b> <a href="common_8h_source.html#l00032">common.h:32</a></div></div>
<div class="ttc" id="anamespacebeast_1_1severities_html"><div class="ttname"><a href="namespacebeast_1_1severities.html">beast::severities</a></div><div class="ttdoc">A namespace for easy access to logging severity values.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00029">Journal.h:29</a></div></div>
<div class="ttc" id="anamespaceripple_1_1tests_html_a884eb8772a4441d11bd11b7ccdd18ea2"><div class="ttname"><a href="namespaceripple_1_1tests.html#a884eb8772a4441d11bd11b7ccdd18ea2">ripple::tests::BEAST_DEFINE_TESTSUITE</a></div><div class="ttdeci">BEAST_DEFINE_TESTSUITE(cluster, overlay, ripple)</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="ttdef"><b>Definition:</b> <a href="SHAMapNodeID_8h_source.html#l00033">SHAMapNodeID.h:33</a></div></div>
@@ -303,26 +302,25 @@ $(function() {
<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#l00081">SHAMap.h:81</a></div></div>
<div class="ttc" id="aclassripple_1_1tests_1_1SHAMapSync__test_html"><div class="ttname"><a href="classripple_1_1tests_1_1SHAMapSync__test.html">ripple::tests::SHAMapSync_test</a></div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync__test_8cpp_source.html#l00032">SHAMapSync_test.cpp:32</a></div></div>
<div class="ttc" id="aclassripple_1_1tests_1_1SHAMapSync__test_html_aabde780a2b194f9b4b15717eac0926a3"><div class="ttname"><a href="classripple_1_1tests_1_1SHAMapSync__test.html#aabde780a2b194f9b4b15717eac0926a3">ripple::tests::SHAMapSync_test::eng_</a></div><div class="ttdeci">beast::xor_shift_engine eng_</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync__test_8cpp_source.html#l00035">SHAMapSync_test.cpp:35</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&lt; std::pair&lt; SHAMapNodeID, uint256 &gt; &gt; 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#l00316">SHAMapSync.cpp:316</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&lt; std::pair&lt; SHAMapNodeID, uint256 &gt; &gt; 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#l00321">SHAMapSync.cpp:321</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1SuiteJournal_html"><div class="ttname"><a href="classripple_1_1test_1_1SuiteJournal.html">ripple::test::SuiteJournal</a></div><div class="ttdef"><b>Definition:</b> <a href="SuiteJournal_8h_source.html#l00088">SuiteJournal.h:88</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&lt; SHAMapMissingNode &gt; &amp;missingNodes, int maxMissing) const</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapDelta_8cpp_source.html#l00250">SHAMapDelta.cpp:250</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#l00039">Serializer.h:39</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#l00497">SHAMap.h:497</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#l00496">SHAMap.h:496</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="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_a5f8c275ba7cfa80e56671b6935e29242"><div class="ttname"><a href="classripple_1_1Serializer.html#a5f8c275ba7cfa80e56671b6935e29242">ripple::Serializer::peekData</a></div><div class="ttdeci">Blob const &amp; peekData() const</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00166">Serializer.h:166</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac8683dfc227ea8c196fc4e4f2080e36da82251cdf5d561efb6b1838672e116253"><div class="ttname"><a href="namespaceripple.html#ac8683dfc227ea8c196fc4e4f2080e36da82251cdf5d561efb6b1838672e116253">ripple::snfWIRE</a></div><div class="ttdeci">@ snfWIRE</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapTreeNode_8h_source.html#l00037">SHAMapTreeNode.h:37</a></div></div>
<div class="ttc" id="aclassripple_1_1tests_1_1SHAMapSync__test_html_aa57fe5ab79a426b84c4221c6cf7dbad0"><div class="ttname"><a href="classripple_1_1tests_1_1SHAMapSync__test.html#aa57fe5ab79a426b84c4221c6cf7dbad0">ripple::tests::SHAMapSync_test::confuseMap</a></div><div class="ttdeci">bool confuseMap(SHAMap &amp;map, int count)</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapSync__test_8cpp_source.html#l00049">SHAMapSync_test.cpp:49</a></div></div>
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/empty.html">std::vector::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1SHAMap_html_a4518b20ecb64304fb49d1be2b6d8bf9c"><div class="ttname"><a href="classripple_1_1SHAMap.html#a4518b20ecb64304fb49d1be2b6d8bf9c">ripple::SHAMap::addItem</a></div><div class="ttdeci">bool addItem(SHAMapItem &amp;&amp;i, bool isTransaction, bool hasMeta)</div><div class="ttdef"><b>Definition:</b> <a href="SHAMap_8cpp_source.html#l00782">SHAMap.cpp:782</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMap_html_a4518b20ecb64304fb49d1be2b6d8bf9c"><div class="ttname"><a href="classripple_1_1SHAMap.html#a4518b20ecb64304fb49d1be2b6d8bf9c">ripple::SHAMap::addItem</a></div><div class="ttdeci">bool addItem(SHAMapItem &amp;&amp;i, bool isTransaction, bool hasMeta)</div><div class="ttdef"><b>Definition:</b> <a href="SHAMap_8cpp_source.html#l00784">SHAMap.cpp:784</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5d9fe757c37a7602a883d30b14e1bf3ca88c189a42c87aa49d667fc8ab76bc323"><div class="ttname"><a href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3ca88c189a42c87aa49d667fc8ab76bc323">ripple::SHAMapType::FREE</a></div><div class="ttdeci">@ FREE</div></div>
<div class="ttc" id="asize_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div></div>
<div class="ttc" id="aclassbeast_1_1detail_1_1xor__shift__engine_html"><div class="ttname"><a href="classbeast_1_1detail_1_1xor__shift__engine.html">beast::detail::xor_shift_engine</a></div><div class="ttdef"><b>Definition:</b> <a href="xor__shift__engine_8h_source.html#l00032">xor_shift_engine.h:32</a></div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_a55ebab5e9bf8d8231da8f3c796150719"><div class="ttname"><a href="classripple_1_1Serializer.html#a55ebab5e9bf8d8231da8f3c796150719">ripple::Serializer::add32</a></div><div class="ttdeci">int add32(std::uint32_t i)</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8cpp_source.html#l00038">Serializer.cpp:38</a></div></div>
<div class="ttc" id="anamespaceripple_html_a37fc7093cfe63d4e2cab63d40aa813dd"><div class="ttname"><a href="namespaceripple.html#a37fc7093cfe63d4e2cab63d40aa813dd">ripple::rand_bool</a></div><div class="ttdeci">bool rand_bool(Engine &amp;engine)</div><div class="ttdoc">Return a random boolean value.</div><div class="ttdef"><b>Definition:</b> <a href="ripple_2basics_2random_8h_source.html#l00196">ripple/basics/random.h:196</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 &amp;id)</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_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#l00511">SHAMap.h:511</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 &amp;id)</div><div class="ttdef"><b>Definition:</b> <a href="SHAMap_8cpp_source.html#l00623">SHAMap.cpp:623</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#l00510">SHAMap.h:510</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">