This commit is contained in:
manojsdoshi
2021-03-12 22:34:28 +00:00
parent 1664f589f1
commit dffdcfc0e7
4802 changed files with 108249 additions and 108053 deletions

View File

@@ -171,10 +171,10 @@ $(function() {
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment">// Helper function for LedgerMaster::doAdvance()</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment">// Return true if candidateLedger should be fetched from the network.</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="keyword">static</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="namespaceripple.html#a4ca2a1ecf43818f8100acc21f512b13a"> 156</a></span>&#160;<a class="code" href="namespaceripple.html#a4ca2a1ecf43818f8100acc21f512b13a">shouldAcquire</a>(</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="namespaceripple.html#a315a8436e8fd4fca03c22728a68d2261"> 156</a></span>&#160;<a class="code" href="namespaceripple.html#a315a8436e8fd4fca03c22728a68d2261">shouldAcquire</a>(</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <span class="keyword">const</span> currentLedger,</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <span class="keyword">const</span> ledgerHistory,</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; boost::optional&lt;LedgerIndex&gt; <span class="keyword">const</span> minimumOnline,</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;LedgerIndex&gt;</a> <span class="keyword">const</span> minimumOnline,</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <span class="keyword">const</span> candidateLedger,</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;{</div>
@@ -189,7 +189,7 @@ $(function() {
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// Or if greater than or equal to a specific minimum ledger.</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">// Do nothing if the minimum ledger to keep online is unknown.</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> minimumOnline.has_value() &amp;&amp; candidateLedger &gt;= *minimumOnline;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> minimumOnline.<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional/operator_bool.html">has_value</a>() &amp;&amp; candidateLedger &gt;= *minimumOnline;</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; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; JLOG(j.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;Missing ledger &quot;</span> &lt;&lt; candidateLedger</div>
@@ -346,7 +346,7 @@ $(function() {
<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#ab670b2dabf3882d2f465799a354c9f34"> 328</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#ab670b2dabf3882d2f465799a354c9f34">LedgerMaster::setValidLedger</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;Ledger const&gt;</a> <span class="keyword">const</span>&amp; l)</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;{</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;NetClock::time_point&gt;</a> times;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; boost::optional&lt;uint256&gt; consensusHash;</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;uint256&gt;</a> consensusHash;</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1LedgerMaster.html#ad827727062382b84da77ab287aba6ccf">standalone_</a>)</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
@@ -385,7 +385,7 @@ $(function() {
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; </div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a7c963aa5c47180b24897ff6b5622e5bc">getOPs</a>().<a class="code" href="classripple_1_1NetworkOPs.html#ae818648c14f68b1e31afe0164b850130">updateLocalTx</a>(*l);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a6f1008fae10cc18f12aaee19091d9980">getSHAMapStore</a>().<a class="code" href="classripple_1_1SHAMapStore.html#a3a16eedab60b2fdc51c616369d5f3969">onLedgerClosed</a>(<a class="code" href="classripple_1_1LedgerMaster.html#a50acc6cfefb3886a65affa2e213f089d">getValidatedLedger</a>());</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a2dc054158ffca412c8d193abc60f9a41">mLedgerHistory</a>.<a class="code" href="classripple_1_1LedgerHistory.html#ae20522c290ede961bc6f313452c0cd2a">validatedLedger</a>(l, consensusHash);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a2dc054158ffca412c8d193abc60f9a41">mLedgerHistory</a>.<a class="code" href="classripple_1_1LedgerHistory.html#ae3a7cdee19a26b3859e86b02e2cc3742">validatedLedger</a>(l, consensusHash);</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#af620c027bd43a2a76049b31aca493ea8">getAmendmentTable</a>().<a class="code" href="classripple_1_1AmendmentTable.html#ac721ac20262609226483f1436b0df02f">doValidatedLedger</a>(l);</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a7c963aa5c47180b24897ff6b5622e5bc">getOPs</a>().<a class="code" href="classripple_1_1NetworkOPs.html#a39a17f676dfe886070778e666ca2d18c">isBlocked</a>())</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div>
@@ -407,11 +407,11 @@ $(function() {
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="comment">// the node will otherwise function normally, and this gives</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="comment">// operators an opportunity to see and resolve the warning.</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> first =</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#af620c027bd43a2a76049b31aca493ea8">getAmendmentTable</a>().<a class="code" href="classripple_1_1AmendmentTable.html#a1f446677c34bd26566000b9989d3c278">firstUnsupportedExpected</a>())</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#af620c027bd43a2a76049b31aca493ea8">getAmendmentTable</a>().<a class="code" href="classripple_1_1AmendmentTable.html#af59e59a074e1dbef4faf0eef0c9dcfa7">firstUnsupportedExpected</a>())</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) &lt;&lt; <span class="stringliteral">&quot;One or more unsupported amendments &quot;</span></div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="stringliteral">&quot;reached majority. Upgrade before &quot;</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; &lt;&lt; <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(*first)</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; &lt;&lt; <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(*first)</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; &lt;&lt; <span class="stringliteral">&quot; to prevent your server from &quot;</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="stringliteral">&quot;becoming amendment blocked.&quot;</span>;</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a7c963aa5c47180b24897ff6b5622e5bc">getOPs</a>().<a class="code" href="classripple_1_1NetworkOPs.html#a3a1b507c5ec60a6dc64ed8e7fa9cfdcd">setAmendmentWarned</a>();</div>
@@ -473,8 +473,8 @@ $(function() {
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; {</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>())</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Candidate for current ledger has close time &quot;</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; &lt;&lt; <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(ledgerClose) &lt;&lt; <span class="stringliteral">&quot; at network time &quot;</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; &lt;&lt; <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(closeTime) &lt;&lt; <span class="stringliteral">&quot; seq &quot;</span> &lt;&lt; ledger-&gt;info().seq;</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; &lt;&lt; <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(ledgerClose) &lt;&lt; <span class="stringliteral">&quot; at network time &quot;</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; &lt;&lt; <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(closeTime) &lt;&lt; <span class="stringliteral">&quot; seq &quot;</span> &lt;&lt; ledger-&gt;info().seq;</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; </div>
@@ -622,13 +622,13 @@ $(function() {
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">if</span> (!maxVal)</div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; </div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; boost::optional&lt;std::uint32_t&gt; maybeMin;</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;std::uint32_t&gt;</a> maybeMin;</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; {</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> sl(<a class="code" href="classripple_1_1LedgerMaster.html#a99311904e2e5203c8715463e261c9fe7">mCompleteLock</a>);</div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; maybeMin = <a class="code" href="namespaceripple.html#a1954e780758fdb8b0c25bab4c90a4614">prevMissing</a>(<a class="code" href="classripple_1_1LedgerMaster.html#a052a7d6baf80f975ebe10a8f855ca3e7">mCompleteLedgers</a>, maxVal);</div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; maybeMin = <a class="code" href="namespaceripple.html#abf25e8e52e0c680162f6397149f02150">prevMissing</a>(<a class="code" href="classripple_1_1LedgerMaster.html#a052a7d6baf80f975ebe10a8f855ca3e7">mCompleteLedgers</a>, maxVal);</div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; }</div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; </div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">if</span> (maybeMin == boost::none)</div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">if</span> (maybeMin == std::nullopt)</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; minVal = maxVal;</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; minVal = 1 + *maybeMin;</div>
@@ -789,7 +789,7 @@ $(function() {
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;}</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; </div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00781"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#aa41670f9104bcbc6302b1e2100bc53eb"> 781</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#afc48bba6c28fe01038e50364d4552308">LedgerMaster::getFetchPack</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> missing, <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">InboundLedger::Reason</a> reason)</div>
<div class="line"><a name="l00781"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#aa41670f9104bcbc6302b1e2100bc53eb"> 781</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#aa65154f38461c13e79695d7d6c7fa4c9">LedgerMaster::getFetchPack</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> missing, <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">InboundLedger::Reason</a> reason)</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;{</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> <span class="keyword">const</span> ledgerIndex([&amp;]() {</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">if</span> (reason == <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7a5fe9db299562a253ce0745d25f54eb0f">InboundLedger::Reason::SHARD</a>)</div>
@@ -803,7 +803,7 @@ $(function() {
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">return</span> missing + 1;</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; }());</div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; </div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> haveHash{<a class="code" href="classripple_1_1LedgerMaster.html#a1e0c3bff6e53baa326075a7be3d3a36f">getLedgerHashForHistory</a>(ledgerIndex, reason)};</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> haveHash{<a class="code" href="classripple_1_1LedgerMaster.html#ab7af221b6b993c60afbc18b872f68cfb">getLedgerHashForHistory</a>(ledgerIndex, reason)};</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">if</span> (!haveHash || haveHash-&gt;isZero())</div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; {</div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">if</span> (reason == <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7a5fe9db299562a253ce0745d25f54eb0f">InboundLedger::Reason::SHARD</a>)</div>
@@ -865,7 +865,7 @@ $(function() {
<div class="line"><a name="l00854"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a35ccb12350f1b7764b9ff2218491d0b5"> 854</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a35ccb12350f1b7764b9ff2218491d0b5">LedgerMaster::fixMismatch</a>(<a class="code" href="classripple_1_1ReadView.html">ReadView</a> <span class="keyword">const</span>&amp; ledger)</div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;{</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordtype">int</span> invalidate = 0;</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; boost::optional&lt;uint256&gt; hash;</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;uint256&gt;</a> hash;</div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; </div>
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">for</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> lSeq = ledger.<a class="code" href="classripple_1_1ReadView.html#a9263b10d706a447166b229ad8e3b574c">info</a>().<a class="code" href="structripple_1_1LedgerInfo.html#a06608577034840a474361d55624ce9a0">seq</a> - 1; lSeq &gt; 0; --lSeq)</div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; {</div>
@@ -873,7 +873,7 @@ $(function() {
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; {</div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; {</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; hash = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(ledger, lSeq, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; hash = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(ledger, lSeq, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; }</div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; {</div>
@@ -1298,25 +1298,25 @@ $(function() {
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;advanceThread&gt;&quot;</span>;</div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;}</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; </div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;boost::optional&lt;LedgerHash&gt;</div>
<div class="line"><a name="l01297"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a1e0c3bff6e53baa326075a7be3d3a36f"> 1297</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a1e0c3bff6e53baa326075a7be3d3a36f">LedgerMaster::getLedgerHashForHistory</a>(</div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;LedgerHash&gt;</a></div>
<div class="line"><a name="l01297"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#ab7af221b6b993c60afbc18b872f68cfb"> 1297</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#ab7af221b6b993c60afbc18b872f68cfb">LedgerMaster::getLedgerHashForHistory</a>(</div>
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> index,</div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">InboundLedger::Reason</a> reason)</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;{</div>
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="comment">// Try to get the hash of a ledger we need to fetch for history</span></div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; boost::optional&lt;LedgerHash&gt; ret;</div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;LedgerHash&gt;</a> ret;</div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span>&amp; l{</div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; reason == <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7a5fe9db299562a253ce0745d25f54eb0f">InboundLedger::Reason::SHARD</a> ? <a class="code" href="classripple_1_1LedgerMaster.html#a37b15652f758d0ff633fc4f4384000e7">mShardLedger</a> : <a class="code" href="classripple_1_1LedgerMaster.html#a94a7e6691f1be412a702cfbe13eda603">mHistLedger</a>};</div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; </div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <span class="keywordflow">if</span> (l &amp;&amp; l-&gt;info().seq &gt;= index)</div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; {</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; ret = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(*l, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; ret = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(*l, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; <span class="keywordflow">if</span> (!ret)</div>
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; ret = <a class="code" href="classripple_1_1LedgerMaster.html#aafea042d43c45f6ea02be2489c019f62">walkHashBySeq</a>(index, l, reason);</div>
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; ret = <a class="code" href="classripple_1_1LedgerMaster.html#a4c6df242c0ea3409a06e44436495235f">walkHashBySeq</a>(index, l, reason);</div>
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; }</div>
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; </div>
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160; <span class="keywordflow">if</span> (!ret)</div>
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; ret = <a class="code" href="classripple_1_1LedgerMaster.html#aafea042d43c45f6ea02be2489c019f62">walkHashBySeq</a>(index, reason);</div>
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; ret = <a class="code" href="classripple_1_1LedgerMaster.html#a4c6df242c0ea3409a06e44436495235f">walkHashBySeq</a>(index, reason);</div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; </div>
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; <span class="keywordflow">return</span> ret;</div>
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;}</div>
@@ -1378,7 +1378,7 @@ $(function() {
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; </div>
<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;Ledger const&gt;</a> ledger;</div>
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; <span class="comment">// This can throw</span></div>
<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <span class="keyword">auto</span> hash = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(*valLedger, seq, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <span class="keyword">auto</span> hash = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(*valLedger, seq, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; <span class="comment">// VFALCO TODO Restructure this code so that zero is not</span></div>
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; <span class="comment">// used.</span></div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; <span class="keywordflow">if</span> (!hash)</div>
@@ -1672,19 +1672,19 @@ $(function() {
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; </div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> sl(<a class="code" href="classripple_1_1LedgerMaster.html#a99311904e2e5203c8715463e261c9fe7">mCompleteLock</a>);</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(<a class="code" href="classripple_1_1LedgerMaster.html#a052a7d6baf80f975ebe10a8f855ca3e7">mCompleteLedgers</a>);</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(<a class="code" href="classripple_1_1LedgerMaster.html#a052a7d6baf80f975ebe10a8f855ca3e7">mCompleteLedgers</a>);</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;}</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; </div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;boost::optional&lt;NetClock::time_point&gt;</div>
<div class="line"><a name="l01676"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#aff01e5be205edd638601cc993bd4d140"> 1676</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#aff01e5be205edd638601cc993bd4d140">LedgerMaster::getCloseTimeBySeq</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> ledgerIndex)</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;NetClock::time_point&gt;</a></div>
<div class="line"><a name="l01676"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a330510efd66b4b08e57f5c0b896560ef"> 1676</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a330510efd66b4b08e57f5c0b896560ef">LedgerMaster::getCloseTimeBySeq</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> ledgerIndex)</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;{</div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; <a class="code" href="classripple_1_1base__uint.html">uint256</a> hash = <a class="code" href="classripple_1_1LedgerMaster.html#a4f59228c74d5491f68333ef250431cdb">getHashBySeq</a>(ledgerIndex);</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <span class="keywordflow">return</span> hash.<a class="code" href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">isNonZero</a>() ? <a class="code" href="classripple_1_1LedgerMaster.html#a8abe80490a5e5c43defe19e323f24918">getCloseTimeByHash</a>(hash, ledgerIndex)</div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; : boost::none;</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <span class="keywordflow">return</span> hash.<a class="code" href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">isNonZero</a>() ? <a class="code" href="classripple_1_1LedgerMaster.html#a17c4b88b151507f01b3b4b510b9b3818">getCloseTimeByHash</a>(hash, ledgerIndex)</div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; : std::nullopt;</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;}</div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; </div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;boost::optional&lt;NetClock::time_point&gt;</div>
<div class="line"><a name="l01684"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a8abe80490a5e5c43defe19e323f24918"> 1684</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a8abe80490a5e5c43defe19e323f24918">LedgerMaster::getCloseTimeByHash</a>(</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;NetClock::time_point&gt;</a></div>
<div class="line"><a name="l01684"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a17c4b88b151507f01b3b4b510b9b3818"> 1684</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a17c4b88b151507f01b3b4b510b9b3818">LedgerMaster::getCloseTimeByHash</a>(</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; <a class="code" href="classripple_1_1base__uint.html">LedgerHash</a> <span class="keyword">const</span>&amp; ledgerHash,</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> index)</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;{</div>
@@ -1702,7 +1702,7 @@ $(function() {
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; }</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; }</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; </div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; <span class="keywordflow">return</span> boost::none;</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; <span class="keywordflow">return</span> std::nullopt;</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;}</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; </div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;<a class="code" href="classripple_1_1base__uint.html">uint256</a></div>
@@ -1716,19 +1716,19 @@ $(function() {
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#add9d90d52d685ee9e6baaf986b71081b">getHashByIndex</a>(index, <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>);</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;}</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; </div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;boost::optional&lt;LedgerHash&gt;</div>
<div class="line"><a name="l01717"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#aafea042d43c45f6ea02be2489c019f62"> 1717</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#aafea042d43c45f6ea02be2489c019f62">LedgerMaster::walkHashBySeq</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> index, <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">InboundLedger::Reason</a> reason)</div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;LedgerHash&gt;</a></div>
<div class="line"><a name="l01717"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a4c6df242c0ea3409a06e44436495235f"> 1717</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a4c6df242c0ea3409a06e44436495235f">LedgerMaster::walkHashBySeq</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> index, <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">InboundLedger::Reason</a> reason)</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;{</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; boost::optional&lt;LedgerHash&gt; ledgerHash;</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;LedgerHash&gt;</a> ledgerHash;</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; </div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">auto</span> referenceLedger = <a class="code" href="classripple_1_1LedgerMaster.html#ace95f320aee07ca23373121af005079b">mValidLedger</a>.<a class="code" href="classripple_1_1LedgerHolder.html#a213656e1e54f1aff2e3a3464be7ec257">get</a>())</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; ledgerHash = <a class="code" href="classripple_1_1LedgerMaster.html#aafea042d43c45f6ea02be2489c019f62">walkHashBySeq</a>(index, referenceLedger, reason);</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; ledgerHash = <a class="code" href="classripple_1_1LedgerMaster.html#a4c6df242c0ea3409a06e44436495235f">walkHashBySeq</a>(index, referenceLedger, reason);</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; </div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; <span class="keywordflow">return</span> ledgerHash;</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;}</div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; </div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;boost::optional&lt;LedgerHash&gt;</div>
<div class="line"><a name="l01728"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a1fa0c52acb74a5d0545bfacb76d0cbc9"> 1728</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#aafea042d43c45f6ea02be2489c019f62">LedgerMaster::walkHashBySeq</a>(</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;LedgerHash&gt;</a></div>
<div class="line"><a name="l01728"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#af4c4ab8cc796ea3db025305e47f7bdc9"> 1728</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a4c6df242c0ea3409a06e44436495235f">LedgerMaster::walkHashBySeq</a>(</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> index,</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;ReadView const&gt;</a> <span class="keyword">const</span>&amp; referenceLedger,</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">InboundLedger::Reason</a> reason)</div>
@@ -1736,18 +1736,18 @@ $(function() {
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="keywordflow">if</span> (!referenceLedger || (referenceLedger-&gt;info().seq &lt; index))</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; {</div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160; <span class="comment">// Nothing we can do. No validated ledger.</span></div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; <span class="keywordflow">return</span> boost::none;</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; <span class="keywordflow">return</span> std::nullopt;</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; }</div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; </div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; <span class="comment">// See if the hash for the ledger we need is in the reference ledger</span></div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; <span class="keyword">auto</span> ledgerHash = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(*referenceLedger, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; <span class="keyword">auto</span> ledgerHash = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(*referenceLedger, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; <span class="keywordflow">if</span> (ledgerHash)</div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <span class="keywordflow">return</span> ledgerHash;</div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; </div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; <span class="comment">// The hash is not in the reference ledger. Get another ledger which can</span></div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <span class="comment">// be located easily and should contain the hash.</span></div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a> refIndex = <a class="code" href="namespaceripple.html#a276b9076d790b69ea4d9e13720a12ec8">getCandidateLedger</a>(index);</div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> refHash = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(*referenceLedger, refIndex, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> refHash = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(*referenceLedger, refIndex, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; assert(refHash);</div>
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; <span class="keywordflow">if</span> (refHash)</div>
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; {</div>
@@ -1758,7 +1758,7 @@ $(function() {
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; {</div>
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; {</div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; ledgerHash = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(*ledger, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; ledgerHash = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(*ledger, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; }</div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1SHAMapMissingNode.html">SHAMapMissingNode</a> <span class="keyword">const</span>&amp;)</div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; {</div>
@@ -1772,7 +1772,7 @@ $(function() {
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> l = <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a6d349a4ada03689eae062c0399762dad">getInboundLedgers</a>().<a class="code" href="classripple_1_1InboundLedgers.html#ad346b5eb8ce7d749218ad3fb1ef45530">acquire</a>(</div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; *refHash, refIndex, reason))</div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; {</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; ledgerHash = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(*l, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; ledgerHash = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(*l, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; assert(ledgerHash);</div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160; }</div>
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; }</div>
@@ -1793,7 +1793,7 @@ $(function() {
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; </div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160; <span class="keywordflow">try</span></div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160; {</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> hash = <a class="code" href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">hashOfSeq</a>(*valid, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> hash = <a class="code" href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">hashOfSeq</a>(*valid, index, <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>);</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; </div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; <span class="keywordflow">if</span> (hash)</div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classripple_1_1LedgerMaster.html#a2dc054158ffca412c8d193abc60f9a41">mLedgerHistory</a>.<a class="code" href="classripple_1_1LedgerHistory.html#aef350868af3be617b169eef8ab396827">getLedgerByHash</a>(*hash);</div>
@@ -1901,7 +1901,7 @@ $(function() {
<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock&lt;std::recursive_mutex&gt;</a>&amp; sl)</div>
<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;{</div>
<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160; ScopedUnlock sul{sl};</div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">auto</span> hash = <a class="code" href="classripple_1_1LedgerMaster.html#a1e0c3bff6e53baa326075a7be3d3a36f">getLedgerHashForHistory</a>(missing, reason))</div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">auto</span> hash = <a class="code" href="classripple_1_1LedgerMaster.html#ab7af221b6b993c60afbc18b872f68cfb">getLedgerHashForHistory</a>(missing, reason))</div>
<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160; {</div>
<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160; assert(hash-&gt;isNonZero());</div>
<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160; <span class="keyword">auto</span> ledger = <a class="code" href="classripple_1_1LedgerMaster.html#a5f99fb5737062937149e4e33a95ffd06">getLedgerByHash</a>(*hash);</div>
@@ -1917,7 +1917,7 @@ $(function() {
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; &lt;&lt; <span class="stringliteral">&quot;fetchForHistory want fetch pack &quot;</span> &lt;&lt; missing;</div>
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#aea2f8196639c79102118b0f3ea7ccdff">fetch_seq_</a> = missing;</div>
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#afc48bba6c28fe01038e50364d4552308">getFetchPack</a>(missing, reason);</div>
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#aa65154f38461c13e79695d7d6c7fa4c9">getFetchPack</a>(missing, reason);</div>
<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160; }</div>
<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
@@ -1987,7 +1987,7 @@ $(function() {
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160; <span class="keywordflow">for</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> i = 0; i &lt; fetchSz; ++i)</div>
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160; {</div>
<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> seq = missing - i;</div>
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">auto</span> h = <a class="code" href="classripple_1_1LedgerMaster.html#a1e0c3bff6e53baa326075a7be3d3a36f">getLedgerHashForHistory</a>(seq, reason))</div>
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">auto</span> h = <a class="code" href="classripple_1_1LedgerMaster.html#ab7af221b6b993c60afbc18b872f68cfb">getLedgerHashForHistory</a>(seq, reason))</div>
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160; {</div>
<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160; assert(h-&gt;isNonZero());</div>
<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a6d349a4ada03689eae062c0399762dad">getInboundLedgers</a>().<a class="code" href="classripple_1_1InboundLedgers.html#ad346b5eb8ce7d749218ad3fb1ef45530">acquire</a>(*h, seq, reason);</div>
@@ -2036,10 +2036,10 @@ $(function() {
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160; {</div>
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160; <span class="comment">// We are in sync, so can acquire</span></div>
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160; <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">InboundLedger::Reason</a> reason = <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7a5d83de1c9f32e1adaf68625c99c29ac4">InboundLedger::Reason::HISTORY</a>;</div>
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160; boost::optional&lt;std::uint32_t&gt; missing;</div>
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;std::uint32_t&gt;</a> missing;</div>
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160; {</div>
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> sll(<a class="code" href="classripple_1_1LedgerMaster.html#a99311904e2e5203c8715463e261c9fe7">mCompleteLock</a>);</div>
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160; missing = <a class="code" href="namespaceripple.html#a1954e780758fdb8b0c25bab4c90a4614">prevMissing</a>(</div>
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160; missing = <a class="code" href="namespaceripple.html#abf25e8e52e0c680162f6397149f02150">prevMissing</a>(</div>
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a052a7d6baf80f975ebe10a8f855ca3e7">mCompleteLedgers</a>,</div>
<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a39c2844803170290bea1a39cf4768566">mPubLedger</a>-&gt;info().seq,</div>
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a25c5851322f6cb3762563fd1278c6143">getNodeStore</a>().<a class="code" href="classripple_1_1NodeStore_1_1Database.html#a51f2d9197ceae15155509404ce09d9a7">earliestLedgerSeq</a>());</div>
@@ -2049,10 +2049,10 @@ $(function() {
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160; &lt;&lt; <span class="stringliteral">&quot;tryAdvance discovered missing &quot;</span> &lt;&lt; *missing;</div>
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160; <span class="keywordflow">if</span> ((<a class="code" href="classripple_1_1LedgerMaster.html#a871c2f482c5d16d602a21f6ab9d85b48">mFillInProgress</a> == 0 || *missing &gt; <a class="code" href="classripple_1_1LedgerMaster.html#a871c2f482c5d16d602a21f6ab9d85b48">mFillInProgress</a>) &amp;&amp;</div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160; <a class="code" href="namespaceripple.html#a4ca2a1ecf43818f8100acc21f512b13a">shouldAcquire</a>(</div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160; <a class="code" href="namespaceripple.html#a315a8436e8fd4fca03c22728a68d2261">shouldAcquire</a>(</div>
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a9fdca40ce43865b5ee842395cdf0b7b0">mValidLedgerSeq</a>,</div>
<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a447d17034c818a96ed60c2b740bbb24c">ledger_history_</a>,</div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a6f1008fae10cc18f12aaee19091d9980">getSHAMapStore</a>().<a class="code" href="classripple_1_1SHAMapStore.html#a05bec537a1aea25f251635dafc755900">minimumOnline</a>(),</div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#a6f1008fae10cc18f12aaee19091d9980">getSHAMapStore</a>().<a class="code" href="classripple_1_1SHAMapStore.html#a5c8484a5340cf2188a382816148b549b">minimumOnline</a>(),</div>
<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160; *missing,</div>
<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>))</div>
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160; {</div>
@@ -2060,7 +2060,7 @@ $(function() {
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160; &lt;&lt; <span class="stringliteral">&quot;advanceThread should acquire&quot;</span>;</div>
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160; }</div>
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160; missing = boost::none;</div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160; missing = std::nullopt;</div>
<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160; }</div>
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160; <span class="keywordflow">if</span> (!missing &amp;&amp; <a class="code" href="classripple_1_1LedgerMaster.html#a871c2f482c5d16d602a21f6ab9d85b48">mFillInProgress</a> == 0)</div>
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160; {</div>
@@ -2124,8 +2124,8 @@ $(function() {
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160; <a class="code" href="classripple_1_1LedgerMaster.html#a657cc607c2fbd75e529fba30b1fab3f5">fetch_packs_</a>.canonicalize_replace_client(hash, data);</div>
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;}</div>
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160; </div>
<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;boost::optional&lt;Blob&gt;</div>
<div class="line"><a name="l02125"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#afc48bba6c28fe01038e50364d4552308"> 2125</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#afc48bba6c28fe01038e50364d4552308">LedgerMaster::getFetchPack</a>(<a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; hash)</div>
<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Blob&gt;</a></div>
<div class="line"><a name="l02125"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#aa65154f38461c13e79695d7d6c7fa4c9"> 2125</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#aa65154f38461c13e79695d7d6c7fa4c9">LedgerMaster::getFetchPack</a>(<a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; hash)</div>
<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;{</div>
<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">Blob</a> data;</div>
<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1LedgerMaster.html#a657cc607c2fbd75e529fba30b1fab3f5">fetch_packs_</a>.retrieve(hash, data))</div>
@@ -2134,7 +2134,7 @@ $(function() {
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160; <span class="keywordflow">if</span> (hash == <a class="code" href="namespaceripple.html#ae3f5bc352766a1a8dbf5270eb7dbc2e7">sha512Half</a>(<a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(data)))</div>
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160; <span class="keywordflow">return</span> data;</div>
<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160; }</div>
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160; <span class="keywordflow">return</span> boost::none;</div>
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160; <span class="keywordflow">return</span> std::nullopt;</div>
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;}</div>
<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160; </div>
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;<span class="keywordtype">void</span></div>
@@ -2319,34 +2319,36 @@ $(function() {
<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;}</div>
<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160; </div>
<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;<span class="comment">// Returns the minimum ledger sequence in SQL database, if any.</span></div>
<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;boost::optional&lt;LedgerIndex&gt;</div>
<div class="line"><a name="l02345"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a7129c7408cc225ac56bc105d30289da4"> 2345</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a7129c7408cc225ac56bc105d30289da4">LedgerMaster::minSqlSeq</a>()</div>
<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;LedgerIndex&gt;</a></div>
<div class="line"><a name="l02345"></a><span class="lineno"><a class="line" href="classripple_1_1LedgerMaster.html#a85ab10f185f8e05e7dbd76f6a8df25f5"> 2345</a></span>&#160;<a class="code" href="classripple_1_1LedgerMaster.html#a85ab10f185f8e05e7dbd76f6a8df25f5">LedgerMaster::minSqlSeq</a>()</div>
<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span>&#160;{</div>
<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">reporting</a>())</div>
<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160; {</div>
<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160; boost::optional&lt;LedgerIndex&gt; seq;</div>
<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160; <span class="keyword">auto</span> db = <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#ae8c3bf5a8d7de3a98166670fde4056f7">getLedgerDB</a>().<a class="code" href="classripple_1_1DatabaseCon.html#a16c6f729c6462f6200b724543f5c67bc">checkoutDb</a>();</div>
<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160; *db &lt;&lt; <span class="stringliteral">&quot;SELECT MIN(LedgerSeq) FROM Ledgers&quot;</span>, soci::into(seq);</div>
<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160; <span class="keywordflow">return</span> seq;</div>
<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160; }</div>
<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160;<span class="preprocessor">#ifdef RIPPLED_REPORTING</span></div>
<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160; {</div>
<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160; <span class="keyword">auto</span> seq = PgQuery(<a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.getPgPool())(<span class="stringliteral">&quot;SELECT min_ledger()&quot;</span>);</div>
<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span>&#160; <span class="keywordflow">if</span> (!seq)</div>
<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160; {</div>
<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Error querying minimum ledger sequence.&quot;</span>;</div>
<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160; <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160; }</div>
<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160; <span class="keywordflow">if</span> (seq.isNull())</div>
<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160; <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160; <span class="keywordflow">return</span> seq.asInt();</div>
<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160; }</div>
<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span>&#160; <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span>&#160;}</div>
<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span>&#160; </div>
<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160; <span class="comment">// SOCI requires boost::optional (not std::optional) as the parameter.</span></div>
<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160; boost::optional&lt;LedgerIndex&gt; seq;</div>
<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160; <span class="keyword">auto</span> db = <a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.<a class="code" href="classripple_1_1Application.html#ae8c3bf5a8d7de3a98166670fde4056f7">getLedgerDB</a>().<a class="code" href="classripple_1_1DatabaseCon.html#a16c6f729c6462f6200b724543f5c67bc">checkoutDb</a>();</div>
<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160; *db &lt;&lt; <span class="stringliteral">&quot;SELECT MIN(LedgerSeq) FROM Ledgers&quot;</span>, soci::into(seq);</div>
<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160; <span class="keywordflow">if</span> (seq)</div>
<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160; <span class="keywordflow">return</span> *seq;</div>
<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160; }</div>
<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;<span class="preprocessor">#ifdef RIPPLED_REPORTING</span></div>
<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span>&#160; {</div>
<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160; <span class="keyword">auto</span> seq = PgQuery(<a class="code" href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">app_</a>.getPgPool())(<span class="stringliteral">&quot;SELECT min_ledger()&quot;</span>);</div>
<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160; <span class="keywordflow">if</span> (!seq)</div>
<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160; {</div>
<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160; JLOG(<a class="code" href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Error querying minimum ledger sequence.&quot;</span>;</div>
<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160; <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160; }</div>
<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160; <span class="keywordflow">if</span> (seq.isNull())</div>
<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160; <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span>&#160; <span class="keywordflow">return</span> seq.asInt();</div>
<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span>&#160; }</div>
<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span>&#160; <span class="keywordflow">return</span> {};</div>
<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span>&#160;}</div>
<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160; </div>
<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_afdcc25285fc9cb83eab4ed36d95be527"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#afdcc25285fc9cb83eab4ed36d95be527">ripple::NetworkOPs::pubLedger</a></div><div class="ttdeci">virtual void pubLedger(std::shared_ptr&lt; ReadView const &gt; const &amp;lpAccepted)=0</div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_a3dfb8e2e3eecccdb5cf78ff21bca069c"><div class="ttname"><a href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">beast::Journal::fatal</a></div><div class="ttdeci">Stream fatal() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00339">Journal.h:339</a></div></div>
@@ -2356,9 +2358,10 @@ $(function() {
<div class="ttc" id="anamespaceripple_1_1Resource_html_ae8affe62398aaca63fca0f78f22b8171"><div class="ttname"><a href="namespaceripple_1_1Resource.html#ae8affe62398aaca63fca0f78f22b8171">ripple::Resource::feeInvalidRequest</a></div><div class="ttdeci">const Charge feeInvalidRequest</div><div class="ttdoc">Schedule of fees charged for imposing load on the server.</div></div>
<div class="ttc" id="aclassripple_1_1Application_html"><div class="ttname"><a href="classripple_1_1Application.html">ripple::Application</a></div><div class="ttdef"><b>Definition:</b> <a href="Application_8h_source.html#l00102">Application.h:102</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ad839bc4815ef40e0f0a74143fb29771f"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ad839bc4815ef40e0f0a74143fb29771f">ripple::LedgerMaster::mClosedLedger</a></div><div class="ttdeci">LedgerHolder mClosedLedger</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00358">LedgerMaster.h:358</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMap_html_a033dc682ae2682f64b8e8973ae7bdc2b"><div class="ttname"><a href="classripple_1_1SHAMap.html#a033dc682ae2682f64b8e8973ae7bdc2b">ripple::SHAMap::visitDifferences</a></div><div class="ttdeci">void visitDifferences(SHAMap const *have, std::function&lt; bool(SHAMapTreeNode const &amp;)&gt;) 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#l00101">SHAMapSync.cpp:101</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMap_html_a033dc682ae2682f64b8e8973ae7bdc2b"><div class="ttname"><a href="classripple_1_1SHAMap.html#a033dc682ae2682f64b8e8973ae7bdc2b">ripple::SHAMap::visitDifferences</a></div><div class="ttdeci">void visitDifferences(SHAMap const *have, std::function&lt; bool(SHAMapTreeNode const &amp;)&gt;) 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#l00100">SHAMapSync.cpp:100</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_ac885cb8bec6f3b9b8bdd5f2a44d07fed"><div class="ttname"><a href="classripple_1_1Application.html#ac885cb8bec6f3b9b8bdd5f2a44d07fed">ripple::Application::getOrderBookDB</a></div><div class="ttdeci">virtual OrderBookDB &amp; getOrderBookDB()=0</div></div>
<div class="ttc" id="aclassripple_1_1InboundLedger_html_a3e8d7f8b5fa089a184dcc9b00b6e0da7a5d83de1c9f32e1adaf68625c99c29ac4"><div class="ttname"><a href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7a5d83de1c9f32e1adaf68625c99c29ac4">ripple::InboundLedger::Reason::HISTORY</a></div><div class="ttdeci">@ HISTORY</div></div>
<div class="ttc" id="aoperator_bool_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional/operator_bool.html">std::optional::has_value</a></div><div class="ttdeci">T has_value(T... args)</div></div>
<div class="ttc" id="anamespaceripple_html_ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c"><div class="ttname"><a href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c">ripple::HashPrefix::ledgerMaster</a></div><div class="ttdeci">@ ledgerMaster</div><div class="ttdoc">ledger master data for signing</div></div>
<div class="ttc" id="alock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/lock.html">std::lock</a></div><div class="ttdeci">T lock(T... args)</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>
@@ -2373,34 +2376,34 @@ $(function() {
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a043c0ea4eb656f7838e145be8abefbc0"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a043c0ea4eb656f7838e145be8abefbc0">ripple::LedgerMaster::clearLedgerCachePrior</a></div><div class="ttdeci">void clearLedgerCachePrior(LedgerIndex seq)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01876">LedgerMaster.cpp:1876</a></div></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div><div class="ttdoc">STL class.</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&lt; Collector &gt;</a></div></div>
<div class="ttc" id="anamespaceripple_html_a315a8436e8fd4fca03c22728a68d2261"><div class="ttname"><a href="namespaceripple.html#a315a8436e8fd4fca03c22728a68d2261">ripple::shouldAcquire</a></div><div class="ttdeci">static bool shouldAcquire(std::uint32_t const currentLedger, std::uint32_t const ledgerHistory, std::optional&lt; LedgerIndex &gt; const minimumOnline, std::uint32_t const candidateLedger, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00156">LedgerMaster.cpp:156</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a536e3bab957c1e220d1de0bf2885ffc3"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a536e3bab957c1e220d1de0bf2885ffc3">ripple::LedgerMaster::sweep</a></div><div class="ttdeci">void sweep()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01849">LedgerMaster.cpp:1849</a></div></div>
<div class="ttc" id="anamespaceripple_html_a1b38e742ac7fe4c3a80a397e06b83dcb"><div class="ttname"><a href="namespaceripple.html#a1b38e742ac7fe4c3a80a397e06b83dcb">ripple::SizedItem</a></div><div class="ttdeci">SizedItem</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00048">Config.h:48</a></div></div>
<div class="ttc" id="aexception_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1base__uint_html_ad2bffc75e554b89befbb9388e07392c0"><div class="ttname"><a href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">ripple::base_uint::isNonZero</a></div><div class="ttdeci">bool isNonZero() const</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00444">base_uint.h:444</a></div></div>
<div class="ttc" id="aclassripple_1_1base__uint_html_ad2bffc75e554b89befbb9388e07392c0"><div class="ttname"><a href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">ripple::base_uint::isNonZero</a></div><div class="ttdeci">bool isNonZero() const</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00513">base_uint.h:513</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_abbe082bd27ca0f1d1365af2824e4f85b"><div class="ttname"><a href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">beast::Journal::trace</a></div><div class="ttdeci">Stream trace() const</div><div class="ttdoc">Severity stream access functions.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00309">Journal.h:309</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a3e0f9a065a80c97aa923367f33eafd84"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a3e0f9a065a80c97aa923367f33eafd84">ripple::LedgerMaster::mBuildingLedgerSeq</a></div><div class="ttdeci">std::atomic&lt; LedgerIndex &gt; mBuildingLedgerSeq</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00407">LedgerMaster.h:407</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a262ba48a2919950db79ae9434018b450"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a262ba48a2919950db79ae9434018b450">ripple::LedgerMaster::app_</a></div><div class="ttdeci">Application &amp; app_</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00352">LedgerMaster.h:352</a></div></div>
<div class="ttc" id="anamespaceripple_html_a4a189668d64758cfcac4022778e496f5"><div class="ttname"><a href="namespaceripple.html#a4a189668d64758cfcac4022778e496f5">ripple::sfLedgerSequence</a></div><div class="ttdeci">const SF_UINT32 sfLedgerSequence</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a5e7ca06965f5ec58c002e3b3c3da0114"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a5e7ca06965f5ec58c002e3b3c3da0114">ripple::LedgerMaster::advanceThread</a></div><div class="ttdeci">void advanceThread()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01276">LedgerMaster.cpp:1276</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMapStore_html_a5c8484a5340cf2188a382816148b549b"><div class="ttname"><a href="classripple_1_1SHAMapStore.html#a5c8484a5340cf2188a382816148b549b">ripple::SHAMapStore::minimumOnline</a></div><div class="ttdeci">virtual std::optional&lt; LedgerIndex &gt; minimumOnline() const =0</div><div class="ttdoc">The minimum ledger to try and maintain in our database.</div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1DatabaseShard_html_aa1a0278ace9b70c807f585c3eae6d787"><div class="ttname"><a href="classripple_1_1NodeStore_1_1DatabaseShard.html#aa1a0278ace9b70c807f585c3eae6d787">ripple::NodeStore::DatabaseShard::seqToShardIndex</a></div><div class="ttdeci">virtual std::uint32_t seqToShardIndex(std::uint32_t seq) const =0</div><div class="ttdoc">Calculates the shard index for a given ledger sequence.</div></div>
<div class="ttc" id="anamespaceripple_html_a19f506b57882e3396d15d7c43fa92d92"><div class="ttname"><a href="namespaceripple.html#a19f506b57882e3396d15d7c43fa92d92">ripple::apply</a></div><div class="ttdeci">std::pair&lt; TER, bool &gt; apply(Application &amp;app, OpenView &amp;view, STTx const &amp;tx, ApplyFlags flags, beast::Journal journal)</div><div class="ttdoc">Apply a transaction to an OpenView.</div><div class="ttdef"><b>Definition:</b> <a href="apply_8cpp_source.html#l00109">apply.cpp:109</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a7129c7408cc225ac56bc105d30289da4"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a7129c7408cc225ac56bc105d30289da4">ripple::LedgerMaster::minSqlSeq</a></div><div class="ttdeci">boost::optional&lt; LedgerIndex &gt; minSqlSeq()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02345">LedgerMaster.cpp:2345</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a2dc054158ffca412c8d193abc60f9a41"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a2dc054158ffca412c8d193abc60f9a41">ripple::LedgerMaster::mLedgerHistory</a></div><div class="ttdeci">LedgerHistory mLedgerHistory</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00378">LedgerMaster.h:378</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a1e0c3bff6e53baa326075a7be3d3a36f"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a1e0c3bff6e53baa326075a7be3d3a36f">ripple::LedgerMaster::getLedgerHashForHistory</a></div><div class="ttdeci">boost::optional&lt; LedgerHash &gt; getLedgerHashForHistory(LedgerIndex index, InboundLedger::Reason reason)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01297">LedgerMaster.cpp:1297</a></div></div>
<div class="ttc" id="atest_and_set_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/atomic/atomic_flag/test_and_set.html">std::atomic_flag::test_and_set</a></div><div class="ttdeci">T test_and_set(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a8c94e89bcab98155b9c58ef24e24f7c1"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a8c94e89bcab98155b9c58ef24e24f7c1">ripple::LedgerMaster::mHeldTransactions</a></div><div class="ttdeci">CanonicalTXSet mHeldTransactions</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00380">LedgerMaster.h:380</a></div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_a0b9f56cab2021e47d45e4cd287f4b425"><div class="ttname"><a href="classripple_1_1Serializer.html#a0b9f56cab2021e47d45e4cd287f4b425">ripple::Serializer::erase</a></div><div class="ttdeci">void erase()</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00207">Serializer.h:207</a></div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_a0b9f56cab2021e47d45e4cd287f4b425"><div class="ttname"><a href="classripple_1_1Serializer.html#a0b9f56cab2021e47d45e4cd287f4b425">ripple::Serializer::erase</a></div><div class="ttdeci">void erase()</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00209">Serializer.h:209</a></div></div>
<div class="ttc" id="aclassripple_1_1Config_html_a7174b4395af72d89dc078e64d31c769c"><div class="ttname"><a href="classripple_1_1Config.html#a7174b4395af72d89dc078e64d31c769c">ripple::Config::LEDGER_REPLAY</a></div><div class="ttdeci">bool LEDGER_REPLAY</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00189">Config.h:189</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::second</a></div><div class="ttdeci">T second</div></div>
<div class="ttc" id="areserve_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">std::vector::reserve</a></div><div class="ttdeci">T reserve(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1CanonicalTXSet_html_a23640380a54fffe1cf3430bb76cdbbc1"><div class="ttname"><a href="classripple_1_1CanonicalTXSet.html#a23640380a54fffe1cf3430bb76cdbbc1">ripple::CanonicalTXSet::popAcctTransaction</a></div><div class="ttdeci">std::shared_ptr&lt; STTx const &gt; popAcctTransaction(std::shared_ptr&lt; STTx const &gt; const &amp;tx)</div><div class="ttdef"><b>Definition:</b> <a href="CanonicalTXSet_8cpp_source.html#l00062">CanonicalTXSet.cpp:62</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_ae03adeae0930b7092edb4139cc7d0330"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#ae03adeae0930b7092edb4139cc7d0330">ripple::LedgerHistory::fixIndex</a></div><div class="ttdeci">bool fixIndex(LedgerIndex ledgerIndex, LedgerHash const &amp;ledgerHash)</div><div class="ttdoc">Repair a hash to index mapping.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8cpp_source.html#l00513">LedgerHistory.cpp:513</a></div></div>
<div class="ttc" id="aclassripple_1_1Validations_html_a3f0296ffe3a427900bac6b4452d9636f"><div class="ttname"><a href="classripple_1_1Validations.html#a3f0296ffe3a427900bac6b4452d9636f">ripple::Validations::fees</a></div><div class="ttdeci">std::vector&lt; std::uint32_t &gt; fees(ID const &amp;ledgerID, std::uint32_t baseFee)</div><div class="ttdoc">Returns fees reported by trusted full validators in the given ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l01033">Validations.h:1033</a></div></div>
<div class="ttc" id="aclassripple_1_1Validations_html_a3f0296ffe3a427900bac6b4452d9636f"><div class="ttname"><a href="classripple_1_1Validations.html#a3f0296ffe3a427900bac6b4452d9636f">ripple::Validations::fees</a></div><div class="ttdeci">std::vector&lt; std::uint32_t &gt; fees(ID const &amp;ledgerID, std::uint32_t baseFee)</div><div class="ttdoc">Returns fees reported by trusted full validators in the given ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l01039">Validations.h:1039</a></div></div>
<div class="ttc" id="aclassbeast_1_1PropertyStream_1_1Source_html"><div class="ttname"><a href="classbeast_1_1PropertyStream_1_1Source.html">beast::PropertyStream::Source</a></div><div class="ttdoc">Subclasses can be called to write to a stream and have children.</div><div class="ttdef"><b>Definition:</b> <a href="PropertyStream_8h_source.html#l00342">PropertyStream.h:342</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHolder_html_aa824811e930ab1ebf8e6449355c541b1"><div class="ttname"><a href="classripple_1_1LedgerHolder.html#aa824811e930ab1ebf8e6449355c541b1">ripple::LedgerHolder::set</a></div><div class="ttdeci">void set(std::shared_ptr&lt; Ledger const &gt; ledger)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHolder_8h_source.html#l00043">LedgerHolder.h:43</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_af3eaa659ab184feed8b939836efeebcf"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#af3eaa659ab184feed8b939836efeebcf">ripple::LedgerMaster::getValidLedgerIndex</a></div><div class="ttdeci">LedgerIndex getValidLedgerIndex()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00216">LedgerMaster.cpp:216</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_af620c027bd43a2a76049b31aca493ea8"><div class="ttname"><a href="classripple_1_1Application.html#af620c027bd43a2a76049b31aca493ea8">ripple::Application::getAmendmentTable</a></div><div class="ttdeci">virtual AmendmentTable &amp; getAmendmentTable()=0</div></div>
<div class="ttc" id="anamespaceripple_html_ace117d2fc5a43543b6a33fff822d4854"><div class="ttname"><a href="namespaceripple.html#ace117d2fc5a43543b6a33fff822d4854">ripple::addRaw</a></div><div class="ttdeci">void addRaw(LedgerInfo const &amp;info, Serializer &amp;s, bool includeHash)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00043">View.cpp:43</a></div></div>
<div class="ttc" id="anamespaceripple_html_ace117d2fc5a43543b6a33fff822d4854"><div class="ttname"><a href="namespaceripple.html#ace117d2fc5a43543b6a33fff822d4854">ripple::addRaw</a></div><div class="ttdeci">void addRaw(LedgerInfo const &amp;info, Serializer &amp;s, bool includeHash)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00044">View.cpp:44</a></div></div>
<div class="ttc" id="aclassripple_1_1OpenView_html"><div class="ttname"><a href="classripple_1_1OpenView.html">ripple::OpenView</a></div><div class="ttdoc">Writable ledger view that accumulates state and tx changes.</div><div class="ttdef"><b>Definition:</b> <a href="OpenView_8h_source.html#l00055">OpenView.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a97444297b943202db3e5ef166f91f12f"><div class="ttname"><a href="classripple_1_1Application.html#a97444297b943202db3e5ef166f91f12f">ripple::Application::isShutdown</a></div><div class="ttdeci">virtual bool isShutdown()=0</div></div>
<div class="ttc" id="aclassripple_1_1InboundLedger_html_a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b"><div class="ttname"><a href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b">ripple::InboundLedger::Reason::GENERIC</a></div><div class="ttdeci">@ GENERIC</div></div>
@@ -2415,10 +2418,10 @@ $(function() {
<div class="ttc" id="aclassripple_1_1ValidatorList_html_af37bfdb23c49649cfa40a40ac5d182fd"><div class="ttname"><a href="classripple_1_1ValidatorList.html#af37bfdb23c49649cfa40a40ac5d182fd">ripple::ValidatorList::getQuorumKeys</a></div><div class="ttdeci">QuorumKeys getQuorumKeys() const</div><div class="ttdoc">Get the quorum and all of the trusted keys.</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8h_source.html#l00658">ValidatorList.h:658</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a0841fd5ecc4dc815a9a1e6b6bd65210a"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a0841fd5ecc4dc815a9a1e6b6bd65210a">ripple::LedgerMaster::releaseReplay</a></div><div class="ttdeci">std::unique_ptr&lt; LedgerReplay &gt; releaseReplay()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01888">LedgerMaster.cpp:1888</a></div></div>
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::minutes</a></div></div>
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6e"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6e">ripple::ApplyFlags</a></div><div class="ttdeci">ApplyFlags</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00030">ApplyView.h:30</a></div></div>
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6e"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6e">ripple::ApplyFlags</a></div><div class="ttdeci">ApplyFlags</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00029">ApplyView.h:29</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMapStore_html_a3a16eedab60b2fdc51c616369d5f3969"><div class="ttname"><a href="classripple_1_1SHAMapStore.html#a3a16eedab60b2fdc51c616369d5f3969">ripple::SHAMapStore::onLedgerClosed</a></div><div class="ttdeci">virtual void onLedgerClosed(std::shared_ptr&lt; Ledger const &gt; const &amp;ledger)=0</div><div class="ttdoc">Called by LedgerMaster every time a ledger validates.</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aae3e19890142deb54145b221105b81a7"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aae3e19890142deb54145b221105b81a7">ripple::LedgerMaster::getValidatedRules</a></div><div class="ttdeci">Rules getValidatedRules()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01637">LedgerMaster.cpp:1637</a></div></div>
<div class="ttc" id="aclassripple_1_1AmendmentTable_html_ac721ac20262609226483f1436b0df02f"><div class="ttname"><a href="classripple_1_1AmendmentTable.html#ac721ac20262609226483f1436b0df02f">ripple::AmendmentTable::doValidatedLedger</a></div><div class="ttdeci">void doValidatedLedger(std::shared_ptr&lt; ReadView const &gt; const &amp;lastValidatedLedger)</div><div class="ttdoc">Called when a new fully-validated ledger is accepted.</div><div class="ttdef"><b>Definition:</b> <a href="AmendmentTable_8h_source.html#l00076">AmendmentTable.h:76</a></div></div>
<div class="ttc" id="aclassripple_1_1AmendmentTable_html_ac721ac20262609226483f1436b0df02f"><div class="ttname"><a href="classripple_1_1AmendmentTable.html#ac721ac20262609226483f1436b0df02f">ripple::AmendmentTable::doValidatedLedger</a></div><div class="ttdeci">void doValidatedLedger(std::shared_ptr&lt; ReadView const &gt; const &amp;lastValidatedLedger)</div><div class="ttdoc">Called when a new fully-validated ledger is accepted.</div><div class="ttdef"><b>Definition:</b> <a href="AmendmentTable_8h_source.html#l00078">AmendmentTable.h:78</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a99311904e2e5203c8715463e261c9fe7"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a99311904e2e5203c8715463e261c9fe7">ripple::LedgerMaster::mCompleteLock</a></div><div class="ttdeci">std::recursive_mutex mCompleteLock</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00385">LedgerMaster.h:385</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_ae8f38e5e1ec9f36261c3efa670eb2b85"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#ae8f38e5e1ec9f36261c3efa670eb2b85">ripple::LedgerHistory::tune</a></div><div class="ttdeci">void tune(int size, std::chrono::seconds age)</div><div class="ttdoc">Set the history cache's parameters.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8cpp_source.html#l00527">LedgerHistory.cpp:527</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a926ef16a307d6a2fccfc22318687c364"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a926ef16a307d6a2fccfc22318687c364">ripple::LedgerMaster::applyHeldTransactions</a></div><div class="ttdeci">void applyHeldTransactions()</div><div class="ttdoc">Apply held transactions to the open ledger This is normally called as we close the ledger.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00540">LedgerMaster.cpp:540</a></div></div>
@@ -2432,22 +2435,20 @@ $(function() {
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_abbf355fec0f0da558c3231223ea660a8"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#abbf355fec0f0da558c3231223ea660a8">ripple::NetworkOPs::isAmendmentWarned</a></div><div class="ttdeci">virtual bool isAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a5f99fb5737062937149e4e33a95ffd06"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a5f99fb5737062937149e4e33a95ffd06">ripple::LedgerMaster::getLedgerByHash</a></div><div class="ttdeci">std::shared_ptr&lt; Ledger const &gt; getLedgerByHash(uint256 const &amp;hash)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01817">LedgerMaster.cpp:1817</a></div></div>
<div class="ttc" id="acerr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/cerr.html">std::cerr</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aafea042d43c45f6ea02be2489c019f62"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aafea042d43c45f6ea02be2489c019f62">ripple::LedgerMaster::walkHashBySeq</a></div><div class="ttdeci">boost::optional&lt; LedgerHash &gt; walkHashBySeq(std::uint32_t index, InboundLedger::Reason reason)</div><div class="ttdoc">Walk to a ledger's hash using the skip list.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01717">LedgerMaster.cpp:1717</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a415ac9258f2c2e1158d5f421b1742647"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a415ac9258f2c2e1158d5f421b1742647">ripple::LedgerMaster::isNewPathRequest</a></div><div class="ttdeci">bool isNewPathRequest()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01565">LedgerMaster.cpp:1565</a></div></div>
<div class="ttc" id="aclassripple_1_1JobQueue_html_af5e34187d55aa58e551dc196aaf1ec25"><div class="ttname"><a href="classripple_1_1JobQueue.html#af5e34187d55aa58e551dc196aaf1ec25">ripple::JobQueue::addJob</a></div><div class="ttdeci">bool addJob(JobType type, std::string const &amp;name, JobHandler &amp;&amp;jobHandler)</div><div class="ttdoc">Adds a job to the JobQueue.</div><div class="ttdef"><b>Definition:</b> <a href="JobQueue_8h_source.html#l00166">JobQueue.h:166</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac70521ab6e1277870a9e400e7a08e937"><div class="ttname"><a href="namespaceripple.html#ac70521ab6e1277870a9e400e7a08e937">ripple::stopwatch</a></div><div class="ttdeci">Stopwatch &amp; stopwatch()</div><div class="ttdoc">Returns an instance of a wall clock.</div><div class="ttdef"><b>Definition:</b> <a href="chrono_8h_source.html#l00086">chrono.h:86</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac70521ab6e1277870a9e400e7a08e937"><div class="ttname"><a href="namespaceripple.html#ac70521ab6e1277870a9e400e7a08e937">ripple::stopwatch</a></div><div class="ttdeci">Stopwatch &amp; stopwatch()</div><div class="ttdoc">Returns an instance of a wall clock.</div><div class="ttdef"><b>Definition:</b> <a href="chrono_8h_source.html#l00088">chrono.h:88</a></div></div>
<div class="ttc" id="aback_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/back.html">std::vector::back</a></div><div class="ttdeci">T back(T... args)</div></div>
<div class="ttc" id="astructripple_1_1LedgerInfo_html_a06608577034840a474361d55624ce9a0"><div class="ttname"><a href="structripple_1_1LedgerInfo.html#a06608577034840a474361d55624ce9a0">ripple::LedgerInfo::seq</a></div><div class="ttdeci">LedgerIndex seq</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00092">ReadView.h:92</a></div></div>
<div class="ttc" id="aclassripple_1_1LoadFeeTrack_html_aba79fd95090f3faf3e4ab3e57e1739ce"><div class="ttname"><a href="classripple_1_1LoadFeeTrack.html#aba79fd95090f3faf3e4ab3e57e1739ce">ripple::LoadFeeTrack::getLoadBase</a></div><div class="ttdeci">std::uint32_t getLoadBase() const</div><div class="ttdef"><b>Definition:</b> <a href="LoadFeeTrack_8h_source.html#l00087">LoadFeeTrack.h:87</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a8abe80490a5e5c43defe19e323f24918"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a8abe80490a5e5c43defe19e323f24918">ripple::LedgerMaster::getCloseTimeByHash</a></div><div class="ttdeci">boost::optional&lt; NetClock::time_point &gt; getCloseTimeByHash(LedgerHash const &amp;ledgerHash, LedgerIndex ledgerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01684">LedgerMaster.cpp:1684</a></div></div>
<div class="ttc" id="anamespaceripple_html_a96888695e8d79474e080c334f149e30a"><div class="ttname"><a href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">ripple::to_string</a></div><div class="ttdeci">std::string to_string(ListDisposition disposition)</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8cpp_source.html#l00045">ValidatorList.cpp:45</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17aa556a2b64f4c3520465e883a54898df97"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17aa556a2b64f4c3520465e883a54898df97">ripple::jtUPDATE_PF</a></div><div class="ttdeci">@ jtUPDATE_PF</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00052">Job.h:52</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a280004d4cce56d8f1ec4664950aa58d4"><div class="ttname"><a href="classripple_1_1Application.html#a280004d4cce56d8f1ec4664950aa58d4">ripple::Application::timeKeeper</a></div><div class="ttdeci">virtual TimeKeeper &amp; timeKeeper()=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a48d645c212af114908fe168b140ff3cb"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a48d645c212af114908fe168b140ff3cb">ripple::LedgerMaster::getEarliestFetch</a></div><div class="ttdeci">std::uint32_t getEarliestFetch()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00695">LedgerMaster.cpp:695</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a002e22abe4c34d378ff9ece1ab46c7ea"><div class="ttname"><a href="classripple_1_1Application.html#a002e22abe4c34d378ff9ece1ab46c7ea">ripple::Application::openLedger</a></div><div class="ttdeci">virtual OpenLedger &amp; openLedger()=0</div></div>
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5">ripple::tapNONE</a></div><div class="ttdeci">@ tapNONE</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00031">ApplyView.h:31</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a4c6df242c0ea3409a06e44436495235f"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a4c6df242c0ea3409a06e44436495235f">ripple::LedgerMaster::walkHashBySeq</a></div><div class="ttdeci">std::optional&lt; LedgerHash &gt; walkHashBySeq(std::uint32_t index, InboundLedger::Reason reason)</div><div class="ttdoc">Walk to a ledger's hash using the skip list.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01717">LedgerMaster.cpp:1717</a></div></div>
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5">ripple::tapNONE</a></div><div class="ttdeci">@ tapNONE</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00030">ApplyView.h:30</a></div></div>
<div class="ttc" id="anamespaceripple_html_a1b38e742ac7fe4c3a80a397e06b83dcba84e0eb5e4fbd74b1a9cafa3a2e072f64"><div class="ttname"><a href="namespaceripple.html#a1b38e742ac7fe4c3a80a397e06b83dcba84e0eb5e4fbd74b1a9cafa3a2e072f64">ripple::SizedItem::ledgerFetch</a></div><div class="ttdeci">@ ledgerFetch</div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_a5c3fbc509e1f5446d85176bac513e74c"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#a5c3fbc509e1f5446d85176bac513e74c">ripple::LedgerHistory::sweep</a></div><div class="ttdeci">void sweep()</div><div class="ttdoc">Remove stale cache entries.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8h_source.html#l00081">LedgerHistory.h:81</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_a5c3fbc509e1f5446d85176bac513e74c"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#a5c3fbc509e1f5446d85176bac513e74c">ripple::LedgerHistory::sweep</a></div><div class="ttdeci">void sweep()</div><div class="ttdoc">Remove stale cache entries.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8h_source.html#l00083">LedgerHistory.h:83</a></div></div>
<div class="ttc" id="anamespaceripple_1_1Resource_html_a412e34f8f551f06bdbc94d5c8ec4c147"><div class="ttname"><a href="namespaceripple_1_1Resource.html#a412e34f8f551f06bdbc94d5c8ec4c147">ripple::Resource::feeRequestNoReply</a></div><div class="ttdeci">const Charge feeRequestNoReply</div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_a8decf929ebaba3425836b33fc74d6be4"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#a8decf929ebaba3425836b33fc74d6be4">ripple::LedgerHistory::getLedgerHash</a></div><div class="ttdeci">LedgerHash getLedgerHash(LedgerIndex ledgerIndex)</div><div class="ttdoc">Get a ledger's hash given its sequence number.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8cpp_source.html#l00080">LedgerHistory.cpp:80</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a877e0fe2e956eccfe910101bf4143950"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a877e0fe2e956eccfe910101bf4143950">ripple::LedgerMaster::setFullLedger</a></div><div class="ttdeci">void setFullLedger(std::shared_ptr&lt; Ledger const &gt; const &amp;ledger, bool isSynchronous, bool isCurrent)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00908">LedgerMaster.cpp:908</a></div></div>
@@ -2466,7 +2467,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_affe5ded195b29cdc83334b862e806b8c"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#affe5ded195b29cdc83334b862e806b8c">ripple::LedgerMaster::ledger_fetch_size_</a></div><div class="ttdeci">const std::uint32_t ledger_fetch_size_</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00418">LedgerMaster.h:418</a></div></div>
<div class="ttc" id="aclassripple_1_1Job_html_a0a3d9c407f87d7254c767ff87845cc85"><div class="ttname"><a href="classripple_1_1Job.html#a0a3d9c407f87d7254c767ff87845cc85">ripple::Job::getCancelCallback</a></div><div class="ttdeci">CancelCallback getCancelCallback() const</div><div class="ttdef"><b>Definition:</b> <a href="Job_8cpp_source.html#l00058">Job.cpp:58</a></div></div>
<div class="ttc" id="anamespaceripple_1_1BuildInfo_html_a78c52e19009a32c3d05a43c59f864bd3"><div class="ttname"><a href="namespaceripple_1_1BuildInfo.html#a78c52e19009a32c3d05a43c59f864bd3">ripple::BuildInfo::isRippledVersion</a></div><div class="ttdeci">bool isRippledVersion(std::uint64_t version)</div><div class="ttdoc">Check if the encoded software version is a rippled software version.</div><div class="ttdef"><b>Definition:</b> <a href="BuildInfo_8cpp_source.html#l00158">BuildInfo.cpp:158</a></div></div>
<div class="ttc" id="anamespaceripple_html_add9d90d52d685ee9e6baaf986b71081b"><div class="ttname"><a href="namespaceripple.html#add9d90d52d685ee9e6baaf986b71081b">ripple::getHashByIndex</a></div><div class="ttdeci">uint256 getHashByIndex(std::uint32_t ledgerIndex, Application &amp;app)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01602">Ledger.cpp:1602</a></div></div>
<div class="ttc" id="anamespaceripple_html_add9d90d52d685ee9e6baaf986b71081b"><div class="ttname"><a href="namespaceripple.html#add9d90d52d685ee9e6baaf986b71081b">ripple::getHashByIndex</a></div><div class="ttdeci">uint256 getHashByIndex(std::uint32_t ledgerIndex, Application &amp;app)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01599">Ledger.cpp:1599</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMapMissingNode_html"><div class="ttname"><a href="classripple_1_1SHAMapMissingNode.html">ripple::SHAMapMissingNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SHAMapMissingNode_8h_source.html#l00055">SHAMapMissingNode.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1JobQueue_html_ab9dfcd27fee120a72875872a68f12ffb"><div class="ttname"><a href="classripple_1_1JobQueue.html#ab9dfcd27fee120a72875872a68f12ffb">ripple::JobQueue::getJobCount</a></div><div class="ttdeci">int getJobCount(JobType t) const</div><div class="ttdoc">Jobs waiting at this priority.</div><div class="ttdef"><b>Definition:</b> <a href="JobQueue_8cpp_source.html#l00123">JobQueue.cpp:123</a></div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
@@ -2491,6 +2492,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a1edf9bf61737f405b93980dbe1fee4d3"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a1edf9bf61737f405b93980dbe1fee4d3">ripple::LedgerMaster::replayData</a></div><div class="ttdeci">std::unique_ptr&lt; LedgerReplay &gt; replayData</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00383">LedgerMaster.h:383</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aaa32ab558f1d6f813a5bb8ed2e4829a1"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aaa32ab558f1d6f813a5bb8ed2e4829a1">ripple::LedgerMaster::gotFetchPack</a></div><div class="ttdeci">void gotFetchPack(bool progress, std::uint32_t seq)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02138">LedgerMaster.cpp:2138</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ae57023a6b0c6b04833a5853c1fe654f1"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ae57023a6b0c6b04833a5853c1fe654f1">ripple::LedgerMaster::fetchForHistory</a></div><div class="ttdeci">void fetchForHistory(std::uint32_t missing, bool &amp;progress, InboundLedger::Reason reason, std::unique_lock&lt; std::recursive_mutex &gt; &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01894">LedgerMaster.cpp:1894</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aa65154f38461c13e79695d7d6c7fa4c9"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aa65154f38461c13e79695d7d6c7fa4c9">ripple::LedgerMaster::getFetchPack</a></div><div class="ttdeci">std::optional&lt; Blob &gt; getFetchPack(uint256 const &amp;hash) override</div><div class="ttdoc">Retrieves partial ledger data of the coresponding hash from peers.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02125">LedgerMaster.cpp:2125</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a0cf075761a43b4abe322147a06dad13a"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a0cf075761a43b4abe322147a06dad13a">ripple::LedgerMaster::failedSave</a></div><div class="ttdeci">void failedSave(std::uint32_t seq, uint256 const &amp;hash)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00968">LedgerMaster.cpp:968</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a57929fa83c551514e364fe6981b0c104"><div class="ttname"><a href="classripple_1_1Application.html#a57929fa83c551514e364fe6981b0c104">ripple::Application::getLedgerMaster</a></div><div class="ttdeci">virtual LedgerMaster &amp; getLedgerMaster()=0</div></div>
<div class="ttc" id="aclassripple_1_1InboundLedgers_html_ad346b5eb8ce7d749218ad3fb1ef45530"><div class="ttname"><a href="classripple_1_1InboundLedgers.html#ad346b5eb8ce7d749218ad3fb1ef45530">ripple::InboundLedgers::acquire</a></div><div class="ttdeci">virtual std::shared_ptr&lt; Ledger const &gt; acquire(uint256 const &amp;hash, std::uint32_t seq, InboundLedger::Reason)=0</div></div>
@@ -2498,43 +2500,43 @@ $(function() {
<div class="ttc" id="aclassripple_1_1Job_html_a06455e26faa8090b539929f76426b53d"><div class="ttname"><a href="classripple_1_1Job.html#a06455e26faa8090b539929f76426b53d">ripple::Job::shouldCancel</a></div><div class="ttdeci">bool shouldCancel() const</div><div class="ttdoc">Returns true if the running job should make a best-effort cancel.</div><div class="ttdef"><b>Definition:</b> <a href="Job_8cpp_source.html#l00071">Job.cpp:71</a></div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a3a1b507c5ec60a6dc64ed8e7fa9cfdcd"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a3a1b507c5ec60a6dc64ed8e7fa9cfdcd">ripple::NetworkOPs::setAmendmentWarned</a></div><div class="ttdeci">virtual void setAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassripple_1_1Application_html_abddbb82136e88fc73b03054df91e8ba6"><div class="ttname"><a href="classripple_1_1Application.html#abddbb82136e88fc73b03054df91e8ba6">ripple::Application::pendingSaves</a></div><div class="ttdeci">virtual PendingSaves &amp; pendingSaves()=0</div></div>
<div class="ttc" id="aclassripple_1_1SHAMapStore_html_a05bec537a1aea25f251635dafc755900"><div class="ttname"><a href="classripple_1_1SHAMapStore.html#a05bec537a1aea25f251635dafc755900">ripple::SHAMapStore::minimumOnline</a></div><div class="ttdeci">virtual boost::optional&lt; LedgerIndex &gt; minimumOnline() const =0</div><div class="ttdoc">The minimum ledger to try and maintain in our database.</div></div>
<div class="ttc" id="aclassripple_1_1LedgerHolder_html_a87cfd83ef66929c86ce7a0cf6050c02c"><div class="ttname"><a href="classripple_1_1LedgerHolder.html#a87cfd83ef66929c86ce7a0cf6050c02c">ripple::LedgerHolder::empty</a></div><div class="ttdeci">bool empty()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHolder_8h_source.html#l00062">LedgerHolder.h:62</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_aef350868af3be617b169eef8ab396827"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#aef350868af3be617b169eef8ab396827">ripple::LedgerHistory::getLedgerByHash</a></div><div class="ttdeci">std::shared_ptr&lt; Ledger const &gt; getLedgerByHash(LedgerHash const &amp;ledgerHash)</div><div class="ttdoc">Retrieve a ledger given its hash.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8cpp_source.html#l00125">LedgerHistory.cpp:125</a></div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_ac7156012b6dd5a536cf030b48109894c"><div class="ttname"><a href="classripple_1_1Serializer.html#ac7156012b6dd5a536cf030b48109894c">ripple::Serializer::getDataPtr</a></div><div class="ttdeci">const void * getDataPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00187">Serializer.h:187</a></div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_ac7156012b6dd5a536cf030b48109894c"><div class="ttname"><a href="classripple_1_1Serializer.html#ac7156012b6dd5a536cf030b48109894c">ripple::Serializer::getDataPtr</a></div><div class="ttdeci">const void * getDataPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00189">Serializer.h:189</a></div></div>
<div class="ttc" id="anamespaceripple_html_a7110df4f45a288d365fc8ccd9af92aba"><div class="ttname"><a href="namespaceripple.html#a7110df4f45a288d365fc8ccd9af92aba">ripple::MAX_LEDGER_GAP</a></div><div class="ttdeci">static constexpr int MAX_LEDGER_GAP</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00145">LedgerMaster.cpp:145</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_afc48bba6c28fe01038e50364d4552308"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#afc48bba6c28fe01038e50364d4552308">ripple::LedgerMaster::getFetchPack</a></div><div class="ttdeci">boost::optional&lt; Blob &gt; getFetchPack(uint256 const &amp;hash) override</div><div class="ttdoc">Retrieves partial ledger data of the coresponding hash from peers.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02125">LedgerMaster.cpp:2125</a></div></div>
<div class="ttc" id="achrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/chrono.html">chrono</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aa15ee23de914287001e731bada1e1237"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aa15ee23de914287001e731bada1e1237">ripple::LedgerMaster::getFullValidatedRange</a></div><div class="ttdeci">bool getFullValidatedRange(std::uint32_t &amp;minVal, std::uint32_t &amp;maxVal)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00601">LedgerMaster.cpp:601</a></div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_ae818648c14f68b1e31afe0164b850130"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#ae818648c14f68b1e31afe0164b850130">ripple::NetworkOPs::updateLocalTx</a></div><div class="ttdeci">virtual void updateLocalTx(ReadView const &amp;newValidLedger)=0</div></div>
<div class="ttc" id="aclassripple_1_1Application_html_aca56b7c63030174e59720ab51d739422"><div class="ttname"><a href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">ripple::Application::config</a></div><div class="ttdeci">virtual Config &amp; config()=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a6192297b0e4bd6d82057f3e37b7f3d2d"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a6192297b0e4bd6d82057f3e37b7f3d2d">ripple::LedgerMaster::fixIndex</a></div><div class="ttdeci">bool fixIndex(LedgerIndex ledgerIndex, LedgerHash const &amp;ledgerHash)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00521">LedgerMaster.cpp:521</a></div></div>
<div class="ttc" id="anamespaceripple_html_a38d1749cd010f88da471b4183b2dfe52"><div class="ttname"><a href="namespaceripple.html#a38d1749cd010f88da471b4183b2dfe52">ripple::isCurrent</a></div><div class="ttdeci">bool isCurrent(ValidationParms const &amp;p, NetClock::time_point now, NetClock::time_point signTime, NetClock::time_point seenTime)</div><div class="ttdoc">Whether a validation is still current.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l00145">Validations.h:145</a></div></div>
<div class="ttc" id="anamespaceripple_html_a1954e780758fdb8b0c25bab4c90a4614"><div class="ttname"><a href="namespaceripple.html#a1954e780758fdb8b0c25bab4c90a4614">ripple::prevMissing</a></div><div class="ttdeci">boost::optional&lt; T &gt; prevMissing(RangeSet&lt; T &gt; const &amp;rs, T t, T minVal=0)</div><div class="ttdoc">Find the largest value not in the set that is less than a given value.</div><div class="ttdef"><b>Definition:</b> <a href="RangeSet_8h_source.html#l00184">RangeSet.h:184</a></div></div>
<div class="ttc" id="anamespaceripple_html_a38d1749cd010f88da471b4183b2dfe52"><div class="ttname"><a href="namespaceripple.html#a38d1749cd010f88da471b4183b2dfe52">ripple::isCurrent</a></div><div class="ttdeci">bool isCurrent(ValidationParms const &amp;p, NetClock::time_point now, NetClock::time_point signTime, NetClock::time_point seenTime)</div><div class="ttdoc">Whether a validation is still current.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l00146">Validations.h:146</a></div></div>
<div class="ttc" id="aunique_lock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock</a></div><div class="ttdoc">STL class.</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#l00095">SHAMap.h:95</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac15ecd7d76b1ce1c5719a25a7bdeaef4"><div class="ttname"><a href="namespaceripple.html#ac15ecd7d76b1ce1c5719a25a7bdeaef4">ripple::populateFetchPack</a></div><div class="ttdeci">static void populateFetchPack(SHAMap const &amp;want, SHAMap const *have, std::uint32_t cnt, protocol::TMGetObjectByHash *into, std::uint32_t seq, bool withLeaves=true)</div><div class="ttdoc">Populate a fetch pack with data from the map the recipient wants.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02175">LedgerMaster.cpp:2175</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_ae3a7cdee19a26b3859e86b02e2cc3742"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#ae3a7cdee19a26b3859e86b02e2cc3742">ripple::LedgerHistory::validatedLedger</a></div><div class="ttdeci">void validatedLedger(std::shared_ptr&lt; Ledger const &gt; const &amp;, std::optional&lt; uint256 &gt; const &amp;consensusHash)</div><div class="ttdoc">Report that we have validated a particular ledger.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8cpp_source.html#l00472">LedgerHistory.cpp:472</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a45c5a3a1dea7c20d829dededf270ebc7"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a45c5a3a1dea7c20d829dededf270ebc7">ripple::LedgerMaster::canBeCurrent</a></div><div class="ttdeci">bool canBeCurrent(std::shared_ptr&lt; Ledger const &gt; const &amp;ledger)</div><div class="ttdoc">Check the sequence number and parent close time of a ledger against our clock and last validated ledg...</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00427">LedgerMaster.cpp:427</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a9865710c130bf4427842a544b2b7f077"><div class="ttname"><a href="classripple_1_1Application.html#a9865710c130bf4427842a544b2b7f077">ripple::Application::getTxQ</a></div><div class="ttdeci">virtual TxQ &amp; getTxQ()=0</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#l00133">SHAMapTreeNode.h:133</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#l00134">SHAMapTreeNode.h:134</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a860be08979e27d8c6f37f722f996ba6c"><div class="ttname"><a href="classripple_1_1Application.html#a860be08979e27d8c6f37f722f996ba6c">ripple::Application::getJobQueue</a></div><div class="ttdeci">virtual JobQueue &amp; getJobQueue()=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a009526a350a90e20d382513f27304a98"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a009526a350a90e20d382513f27304a98">ripple::LedgerMaster::haveLedger</a></div><div class="ttdeci">bool haveLedger(std::uint32_t seq)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00586">LedgerMaster.cpp:586</a></div></div>
<div class="ttc" id="aclassripple_1_1AmendmentTable_html_af59e59a074e1dbef4faf0eef0c9dcfa7"><div class="ttname"><a href="classripple_1_1AmendmentTable.html#af59e59a074e1dbef4faf0eef0c9dcfa7">ripple::AmendmentTable::firstUnsupportedExpected</a></div><div class="ttdeci">virtual std::optional&lt; NetClock::time_point &gt; firstUnsupportedExpected() const =0</div></div>
<div class="ttc" id="anamespaceripple_html_a80033fe071280d537dbd79e19ba5b628"><div class="ttname"><a href="namespaceripple.html#a80033fe071280d537dbd79e19ba5b628">ripple::calculatePercent</a></div><div class="ttdeci">constexpr std::size_t calculatePercent(std::size_t count, std::size_t total)</div><div class="ttdoc">Calculate one number divided by another number in percentage.</div><div class="ttdef"><b>Definition:</b> <a href="MathUtilities_8h_source.html#l00044">MathUtilities.h:44</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_1_1Stream_html"><div class="ttname"><a href="classbeast_1_1Journal_1_1Stream.html">beast::Journal::Stream</a></div><div class="ttdoc">Provide a light-weight way to check active() before string formatting.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00194">Journal.h:194</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_a49b0713e65bb8e2c51b76fbf16252afe"><div class="ttname"><a href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">beast::Journal::error</a></div><div class="ttdeci">Stream error() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00333">Journal.h:333</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_a87d6bd59020d94110027dcab3d9e3357"><div class="ttname"><a href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">beast::Journal::info</a></div><div class="ttdeci">Stream info() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00321">Journal.h:321</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ae23afecc4263507c2f581b68183300cd"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ae23afecc4263507c2f581b68183300cd">ripple::LedgerMaster::isCompatible</a></div><div class="ttdeci">bool isCompatible(ReadView const &amp;, beast::Journal::Stream, char const *reason)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00222">LedgerMaster.cpp:222</a></div></div>
<div class="ttc" id="atime_point_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a85ab10f185f8e05e7dbd76f6a8df25f5"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a85ab10f185f8e05e7dbd76f6a8df25f5">ripple::LedgerMaster::minSqlSeq</a></div><div class="ttdeci">std::optional&lt; LedgerIndex &gt; minSqlSeq()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02345">LedgerMaster.cpp:2345</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMapTreeNode_html_a3feaa925a9dc0e847049e6c4cfbb6875"><div class="ttname"><a href="classripple_1_1SHAMapTreeNode.html#a3feaa925a9dc0e847049e6c4cfbb6875">ripple::SHAMapTreeNode::isLeaf</a></div><div class="ttdeci">virtual bool isLeaf() const =0</div><div class="ttdoc">Determines if this is a leaf node.</div></div>
<div class="ttc" id="anamespaceripple_html_a4099618475b06c3fa5554a99178a8a59"><div class="ttname"><a href="namespaceripple.html#a4099618475b06c3fa5554a99178a8a59">ripple::hashOfSeq</a></div><div class="ttdeci">std::optional&lt; uint256 &gt; hashOfSeq(ReadView const &amp;ledger, LedgerIndex seq, beast::Journal journal)</div><div class="ttdoc">Return the hash of a ledger by sequence.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00577">View.cpp:577</a></div></div>
<div class="ttc" id="aclassripple_1_1OrderBookDB_html_aed86977ef6ecea12e5f9f339f4a38f58"><div class="ttname"><a href="classripple_1_1OrderBookDB.html#aed86977ef6ecea12e5f9f339f4a38f58">ripple::OrderBookDB::setup</a></div><div class="ttdeci">void setup(std::shared_ptr&lt; ReadView const &gt; const &amp;ledger)</div><div class="ttdef"><b>Definition:</b> <a href="OrderBookDB_8cpp_source.html#l00046">OrderBookDB.cpp:46</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_ae20522c290ede961bc6f313452c0cd2a"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#ae20522c290ede961bc6f313452c0cd2a">ripple::LedgerHistory::validatedLedger</a></div><div class="ttdeci">void validatedLedger(std::shared_ptr&lt; Ledger const &gt; const &amp;, boost::optional&lt; uint256 &gt; const &amp;consensusHash)</div><div class="ttdoc">Report that we have validated a particular ledger.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8cpp_source.html#l00472">LedgerHistory.cpp:472</a></div></div>
<div class="ttc" id="acopy_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/copy.html">std::copy</a></div><div class="ttdeci">T copy(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_adb95579405e9ad8d61239ffa23b1fb22"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#adb95579405e9ad8d61239ffa23b1fb22">ripple::LedgerMaster::getLedgerBySeq</a></div><div class="ttdeci">std::shared_ptr&lt; Ledger const &gt; getLedgerBySeq(std::uint32_t index)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01781">LedgerMaster.cpp:1781</a></div></div>
<div class="ttc" id="aclassripple_1_1Overlay_html_a516f776bf7ff0dbf6a8be71b7355e5be"><div class="ttname"><a href="classripple_1_1Overlay.html#a516f776bf7ff0dbf6a8be71b7355e5be">ripple::Overlay::getActivePeers</a></div><div class="ttdeci">virtual PeerSequence getActivePeers() const =0</div><div class="ttdoc">Returns a sequence representing the current list of peers.</div></div>
<div class="ttc" id="aclassripple_1_1TimeKeeper_html_a106491f0751b8c2c75978a4d1f7aa0e6"><div class="ttname"><a href="classripple_1_1TimeKeeper.html#a106491f0751b8c2c75978a4d1f7aa0e6">ripple::TimeKeeper::closeTime</a></div><div class="ttdeci">virtual time_point closeTime() const =0</div><div class="ttdoc">Returns the close time, in network time.</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ac705ef7b40ff1e783ad35bce97f0694e"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ac705ef7b40ff1e783ad35bce97f0694e">ripple::LedgerMaster::newPathRequest</a></div><div class="ttdeci">bool newPathRequest()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01557">LedgerMaster.cpp:1557</a></div></div>
<div class="ttc" id="aclassripple_1_1Job_html"><div class="ttname"><a href="classripple_1_1Job.html">ripple::Job</a></div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00084">Job.h:84</a></div></div>
<div class="ttc" id="aclassripple_1_1SerialIter_html"><div class="ttname"><a href="classripple_1_1SerialIter.html">ripple::SerialIter</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00308">Serializer.h:308</a></div></div>
<div class="ttc" id="aclassripple_1_1SerialIter_html"><div class="ttname"><a href="classripple_1_1SerialIter.html">ripple::SerialIter</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00310">Serializer.h:310</a></div></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#l00058">Journal.h:58</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a25d75bee07390413c8131c79ebeb3dfd"><div class="ttname"><a href="classripple_1_1Application.html#a25d75bee07390413c8131c79ebeb3dfd">ripple::Application::getValidations</a></div><div class="ttdeci">virtual RCLValidations &amp; getValidations()=0</div></div>
<div class="ttc" id="aclassripple_1_1Application_html_ae8c3bf5a8d7de3a98166670fde4056f7"><div class="ttname"><a href="classripple_1_1Application.html#ae8c3bf5a8d7de3a98166670fde4056f7">ripple::Application::getLedgerDB</a></div><div class="ttdeci">virtual DatabaseCon &amp; getLedgerDB()=0</div></div>
@@ -2543,7 +2545,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Database_html_a51f2d9197ceae15155509404ce09d9a7"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Database.html#a51f2d9197ceae15155509404ce09d9a7">ripple::NodeStore::Database::earliestLedgerSeq</a></div><div class="ttdeci">std::uint32_t earliestLedgerSeq() const</div><div class="ttdef"><b>Definition:</b> <a href="Database_8h_source.html#l00232">Database.h:232</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerReplayer_html_a889210425eeef3f27953527a5f21520a"><div class="ttname"><a href="classripple_1_1LedgerReplayer.html#a889210425eeef3f27953527a5f21520a">ripple::LedgerReplayer::replay</a></div><div class="ttdeci">void replay(InboundLedger::Reason r, uint256 const &amp;finishLedgerHash, std::uint32_t totalNumLedgers)</div><div class="ttdoc">Replay a range of ledgers.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerReplayer_8cpp_source.html#l00047">LedgerReplayer.cpp:47</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a15cca36844eb44d3a6e131a3f7e89c26"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a15cca36844eb44d3a6e131a3f7e89c26">ripple::LedgerMaster::addHeldTransaction</a></div><div class="ttdeci">void addHeldTransaction(std::shared_ptr&lt; Transaction &gt; const &amp;trans)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00416">LedgerMaster.cpp:416</a></div></div>
<div class="ttc" id="aclassripple_1_1SerialIter_html_a46ded990021f9650dcac3c7926906342"><div class="ttname"><a href="classripple_1_1SerialIter.html#a46ded990021f9650dcac3c7926906342">ripple::SerialIter::skip</a></div><div class="ttdeci">void skip(int num)</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8cpp_source.html#l00344">Serializer.cpp:344</a></div></div>
<div class="ttc" id="aclassripple_1_1SerialIter_html_a46ded990021f9650dcac3c7926906342"><div class="ttname"><a href="classripple_1_1SerialIter.html#a46ded990021f9650dcac3c7926906342">ripple::SerialIter::skip</a></div><div class="ttdeci">void skip(int num)</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8cpp_source.html#l00352">Serializer.cpp:352</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ab670b2dabf3882d2f465799a354c9f34"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ab670b2dabf3882d2f465799a354c9f34">ripple::LedgerMaster::setValidLedger</a></div><div class="ttdeci">void setValidLedger(std::shared_ptr&lt; Ledger const &gt; const &amp;l)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00328">LedgerMaster.cpp:328</a></div></div>
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a7ebeb2a8f947b729b0a8a1aba97d3b54"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a7ebeb2a8f947b729b0a8a1aba97d3b54">ripple::NetworkOPs::clearNeedNetworkLedger</a></div><div class="ttdeci">virtual void clearNeedNetworkLedger()=0</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 class="ttdoc">STL class.</div></div>
@@ -2555,29 +2557,29 @@ $(function() {
<div class="ttc" id="aclassripple_1_1Application_html_a5368183e92fc6cd7a985295d258ec892"><div class="ttname"><a href="classripple_1_1Application.html#a5368183e92fc6cd7a985295d258ec892">ripple::Application::getPathRequests</a></div><div class="ttdeci">virtual PathRequests &amp; getPathRequests()=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerHolder_html_a213656e1e54f1aff2e3a3464be7ec257"><div class="ttname"><a href="classripple_1_1LedgerHolder.html#a213656e1e54f1aff2e3a3464be7ec257">ripple::LedgerHolder::get</a></div><div class="ttdeci">std::shared_ptr&lt; Ledger const &gt; get()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHolder_8h_source.html#l00055">LedgerHolder.h:55</a></div></div>
<div class="ttc" id="aclassripple_1_1CanonicalTXSet_html_a1c2fa3073adf8f6405ec16dcdb9afd92"><div class="ttname"><a href="classripple_1_1CanonicalTXSet.html#a1c2fa3073adf8f6405ec16dcdb9afd92">ripple::CanonicalTXSet::insert</a></div><div class="ttdeci">void insert(std::shared_ptr&lt; STTx const &gt; const &amp;txn)</div><div class="ttdef"><b>Definition:</b> <a href="CanonicalTXSet_8cpp_source.html#l00052">CanonicalTXSet.cpp:52</a></div></div>
<div class="ttc" id="anamespaceripple_html_abf25e8e52e0c680162f6397149f02150"><div class="ttname"><a href="namespaceripple.html#abf25e8e52e0c680162f6397149f02150">ripple::prevMissing</a></div><div class="ttdeci">std::optional&lt; T &gt; prevMissing(RangeSet&lt; T &gt; const &amp;rs, T t, T minVal=0)</div><div class="ttdoc">Find the largest value not in the set that is less than a given value.</div><div class="ttdef"><b>Definition:</b> <a href="RangeSet_8h_source.html#l00184">RangeSet.h:184</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ad8abed1933dbf1cc47ea9c0bf980897f"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ad8abed1933dbf1cc47ea9c0bf980897f">ripple::LedgerMaster::getCurrentLedger</a></div><div class="ttdeci">std::shared_ptr&lt; ReadView const &gt; getCurrentLedger()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01612">LedgerMaster.cpp:1612</a></div></div>
<div class="ttc" id="aclassripple_1_1PendingSaves_html_abc46a0811de3b7dbcca4ea7bcb217ffd"><div class="ttname"><a href="classripple_1_1PendingSaves.html#abc46a0811de3b7dbcca4ea7bcb217ffd">ripple::PendingSaves::getSnapshot</a></div><div class="ttdeci">std::map&lt; LedgerIndex, bool &gt; getSnapshot() const</div><div class="ttdoc">Get a snapshot of the pending saves.</div><div class="ttdef"><b>Definition:</b> <a href="PendingSaves_8h_source.html#l00137">PendingSaves.h:137</a></div></div>
<div class="ttc" id="aclassripple_1_1Validations_html_a86ce52398a951c7df913b254eb8e9a2c"><div class="ttname"><a href="classripple_1_1Validations.html#a86ce52398a951c7df913b254eb8e9a2c">ripple::Validations::getTrustedForLedger</a></div><div class="ttdeci">std::vector&lt; WrappedValidationType &gt; getTrustedForLedger(ID const &amp;ledgerID)</div><div class="ttdoc">Get trusted full validations for a specific ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l01010">Validations.h:1010</a></div></div>
<div class="ttc" id="aclassripple_1_1Validations_html_a86ce52398a951c7df913b254eb8e9a2c"><div class="ttname"><a href="classripple_1_1Validations.html#a86ce52398a951c7df913b254eb8e9a2c">ripple::Validations::getTrustedForLedger</a></div><div class="ttdeci">std::vector&lt; WrappedValidationType &gt; getTrustedForLedger(ID const &amp;ledgerID)</div><div class="ttdoc">Get trusted full validations for a specific ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l01016">Validations.h:1016</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ae4bffb37e7b4a2cafdb87fc425b02c9d"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ae4bffb37e7b4a2cafdb87fc425b02c9d">ripple::LedgerMaster::newOrderBookDB</a></div><div class="ttdeci">bool newOrderBookDB()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01576">LedgerMaster.cpp:1576</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a1dd0f5cbae7e22dcd6832624f0a16e79"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a1dd0f5cbae7e22dcd6832624f0a16e79">ripple::LedgerMaster::getNeededValidations</a></div><div class="ttdeci">std::size_t getNeededValidations()</div><div class="ttdoc">Determines how many validations are needed to fully validate a ledger.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01032">LedgerMaster.cpp:1032</a></div></div>
<div class="ttc" id="aclassbeast_1_1abstract__clock_html"><div class="ttname"><a href="classbeast_1_1abstract__clock.html">beast::abstract_clock&lt; std::chrono::steady_clock &gt;</a></div></div>
<div class="ttc" id="amemory_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/memory.html">memory</a></div></div>
<div class="ttc" id="aclassripple_1_1ValidatorList_html_a0937f06a5eddf696521deaef47192a32"><div class="ttname"><a href="classripple_1_1ValidatorList.html#a0937f06a5eddf696521deaef47192a32">ripple::ValidatorList::negativeUNLFilter</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; STValidation &gt; &gt; negativeUNLFilter(std::vector&lt; std::shared_ptr&lt; STValidation &gt;&gt; &amp;&amp;validations) const</div><div class="ttdoc">Remove validations that are from validators on the negative UNL.</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8cpp_source.html#l01960">ValidatorList.cpp:1960</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae93a0ce909950194e6f9aaed7579ea74"><div class="ttname"><a href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">ripple::areCompatible</a></div><div class="ttdeci">bool areCompatible(ReadView const &amp;validLedger, ReadView const &amp;testLedger, beast::Journal::Stream &amp;s, const char *reason)</div><div class="ttdoc">Return false if the test ledger is provably incompatible with the valid ledger, that is,...</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00361">View.cpp:361</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae93a0ce909950194e6f9aaed7579ea74"><div class="ttname"><a href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">ripple::areCompatible</a></div><div class="ttdeci">bool areCompatible(ReadView const &amp;validLedger, ReadView const &amp;testLedger, beast::Journal::Stream &amp;s, const char *reason)</div><div class="ttdoc">Return false if the test ledger is provably incompatible with the valid ledger, that is,...</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00362">View.cpp:362</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a472f0a396bcdde5d66d860d0d5642923"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a472f0a396bcdde5d66d860d0d5642923">ripple::LedgerMaster::mAdvanceThread</a></div><div class="ttdeci">bool mAdvanceThread</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00391">LedgerMaster.h:391</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a168ff9afab04a717a7dacbca1927566c"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a168ff9afab04a717a7dacbca1927566c">ripple::LedgerMaster::checkAccept</a></div><div class="ttdeci">void checkAccept(std::shared_ptr&lt; Ledger const &gt; const &amp;ledger)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01038">LedgerMaster.cpp:1038</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_ae209b3dfe3f3427b569c2414c9a79686"><div class="ttname"><a href="classripple_1_1Application.html#ae209b3dfe3f3427b569c2414c9a79686">ripple::Application::validators</a></div><div class="ttdeci">virtual ValidatorList &amp; validators()=0</div></div>
<div class="ttc" id="aclassripple_1_1AmendmentTable_html_a8eee69252a4b7961d0d8cd411896eeb9"><div class="ttname"><a href="classripple_1_1AmendmentTable.html#a8eee69252a4b7961d0d8cd411896eeb9">ripple::AmendmentTable::hasUnsupportedEnabled</a></div><div class="ttdeci">virtual bool hasUnsupportedEnabled() const =0</div><div class="ttdoc">returns true if one or more amendments on the network have been enabled that this server does not sup...</div></div>
<div class="ttc" id="aweak_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html">std::weak_ptr&lt; Peer &gt;</a></div></div>
<div class="ttc" id="amin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a></div><div class="ttdeci">T min(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1SHAMapTreeNode_html_a454e86c9ed693f8921d53a915d8b1415"><div class="ttname"><a href="classripple_1_1SHAMapTreeNode.html#a454e86c9ed693f8921d53a915d8b1415">ripple::SHAMapTreeNode::getHash</a></div><div class="ttdeci">SHAMapHash const &amp; getHash() const</div><div class="ttdoc">Return the hash of this node.</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapTreeNode_8h_source.html#l00223">SHAMapTreeNode.h:223</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMapTreeNode_html_a454e86c9ed693f8921d53a915d8b1415"><div class="ttname"><a href="classripple_1_1SHAMapTreeNode.html#a454e86c9ed693f8921d53a915d8b1415">ripple::SHAMapTreeNode::getHash</a></div><div class="ttdeci">SHAMapHash const &amp; getHash() const</div><div class="ttdoc">Return the hash of this node.</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapTreeNode_8h_source.html#l00224">SHAMapTreeNode.h:224</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a9b1527e3a4668c09badb19a3db02e132"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a9b1527e3a4668c09badb19a3db02e132">ripple::LedgerMaster::max_ledger_difference_</a></div><div class="ttdeci">const LedgerIndex max_ledger_difference_</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00426">LedgerMaster.h:426</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_1LedgerMaster_html_aa14798637526012a9725f62488e86e58"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aa14798637526012a9725f62488e86e58">ripple::LedgerMaster::getFetchPackCacheSize</a></div><div class="ttdeci">std::size_t getFetchPackCacheSize() const</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02338">LedgerMaster.cpp:2338</a></div></div>
<div class="ttc" id="asubstr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">std::string::substr</a></div><div class="ttdeci">T substr(T... args)</div></div>
<div class="ttc" id="anamespaceripple_1_1BuildInfo_html_a5883781365410de620622c6a2b1b81d5"><div class="ttname"><a href="namespaceripple_1_1BuildInfo.html#a5883781365410de620622c6a2b1b81d5">ripple::BuildInfo::isNewerVersion</a></div><div class="ttdeci">bool isNewerVersion(std::uint64_t version)</div><div class="ttdoc">Check if the version is newer than the local node's rippled software version.</div><div class="ttdef"><b>Definition:</b> <a href="BuildInfo_8cpp_source.html#l00165">BuildInfo.cpp:165</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a85ba69d69b04e9a808a496aeb52268cb"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a85ba69d69b04e9a808a496aeb52268cb">ripple::LedgerMaster::doLedgerCleaner</a></div><div class="ttdeci">void doLedgerCleaner(Json::Value const &amp;parameters)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01830">LedgerMaster.cpp:1830</a></div></div>
<div class="ttc" id="anamespaceripple_html_a43e44648f3d01b0d857edbdd5589514c"><div class="ttname"><a href="namespaceripple.html#a43e44648f3d01b0d857edbdd5589514c">ripple::hashOfSeq</a></div><div class="ttdeci">boost::optional&lt; uint256 &gt; hashOfSeq(ReadView const &amp;ledger, LedgerIndex seq, beast::Journal journal)</div><div class="ttdoc">Return the hash of a ledger by sequence.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00576">View.cpp:576</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aaf2ad7ed3ea8e3cf6b7cd5d8db486270"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aaf2ad7ed3ea8e3cf6b7cd5d8db486270">ripple::LedgerMaster::mPathLedger</a></div><div class="ttdeci">std::shared_ptr&lt; Ledger const &gt; mPathLedger</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00367">LedgerMaster.h:367</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_af6aa770a3d98a0a49d5091163fb675c9"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#af6aa770a3d98a0a49d5091163fb675c9">ripple::LedgerMaster::getValidatedLedgerAge</a></div><div class="ttdeci">std::chrono::seconds getValidatedLedgerAge()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00272">LedgerMaster.cpp:272</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a34727ce57c17ba7af9d75527e17f0e1e"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a34727ce57c17ba7af9d75527e17f0e1e">ripple::LedgerMaster::getClosedLedger</a></div><div class="ttdeci">std::shared_ptr&lt; Ledger const &gt; getClosedLedger()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00105">LedgerMaster.h:105</a></div></div>
@@ -2587,7 +2589,6 @@ $(function() {
<div class="ttc" id="aclassripple_1_1NetworkOPs_html_a39a17f676dfe886070778e666ca2d18c"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#a39a17f676dfe886070778e666ca2d18c">ripple::NetworkOPs::isBlocked</a></div><div class="ttdeci">virtual bool isBlocked()=0</div></div>
<div class="ttc" id="aclassripple_1_1Config_html_ad053293ba571075ebfa6f086ed70fdc5"><div class="ttname"><a href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">ripple::Config::features</a></div><div class="ttdeci">std::unordered_set&lt; uint256, beast::uhash&lt;&gt; &gt; features</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00219">Config.h:219</a></div></div>
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Database_html_aad7aa12d0cc01006120761d23312d428"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Database.html#aad7aa12d0cc01006120761d23312d428">ripple::NodeStore::Database::storeLedger</a></div><div class="ttdeci">virtual bool storeLedger(std::shared_ptr&lt; Ledger const &gt; const &amp;srcLedger)=0</div><div class="ttdoc">Store a ledger from a different database.</div></div>
<div class="ttc" id="anamespaceripple_html_a4ca2a1ecf43818f8100acc21f512b13a"><div class="ttname"><a href="namespaceripple.html#a4ca2a1ecf43818f8100acc21f512b13a">ripple::shouldAcquire</a></div><div class="ttdeci">static bool shouldAcquire(std::uint32_t const currentLedger, std::uint32_t const ledgerHistory, boost::optional&lt; LedgerIndex &gt; const minimumOnline, std::uint32_t const candidateLedger, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00156">LedgerMaster.cpp:156</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ac73ffc4052b4a03b24f192154268ed40"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ac73ffc4052b4a03b24f192154268ed40">ripple::LedgerMaster::mPubLedgerClose</a></div><div class="ttdeci">std::atomic&lt; std::uint32_t &gt; mPubLedgerClose</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00403">LedgerMaster.h:403</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a25c5851322f6cb3762563fd1278c6143"><div class="ttname"><a href="classripple_1_1Application.html#a25c5851322f6cb3762563fd1278c6143">ripple::Application::getNodeStore</a></div><div class="ttdeci">virtual NodeStore::Database &amp; getNodeStore()=0</div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a2897c28a5b5040e80e66f676d201d03f"><div class="ttname"><a href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">ripple::Application::journal</a></div><div class="ttdeci">virtual beast::Journal journal(std::string const &amp;name)=0</div></div>
@@ -2595,15 +2596,16 @@ $(function() {
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a3873efee97acc1cf235747e288c07c74"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a3873efee97acc1cf235747e288c07c74">ripple::LedgerMaster::mPubLedgerSeq</a></div><div class="ttdeci">std::atomic&lt; LedgerIndex &gt; mPubLedgerSeq</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00404">LedgerMaster.h:404</a></div></div>
<div class="ttc" id="acstdlib_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/cstdlib.html">cstdlib</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="aclassripple_1_1LedgerHistory_html_a507bb40b5649985141e3dcbf57bd481d"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#a507bb40b5649985141e3dcbf57bd481d">ripple::LedgerHistory::getCacheHitRate</a></div><div class="ttdeci">float getCacheHitRate()</div><div class="ttdoc">Get the ledgers_by_hash cache hit rate.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8h_source.html#l00051">LedgerHistory.h:51</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_a507bb40b5649985141e3dcbf57bd481d"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#a507bb40b5649985141e3dcbf57bd481d">ripple::LedgerHistory::getCacheHitRate</a></div><div class="ttdeci">float getCacheHitRate()</div><div class="ttdoc">Get the ledgers_by_hash cache hit rate.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8h_source.html#l00053">LedgerHistory.h:53</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a330510efd66b4b08e57f5c0b896560ef"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a330510efd66b4b08e57f5c0b896560ef">ripple::LedgerMaster::getCloseTimeBySeq</a></div><div class="ttdeci">std::optional&lt; NetClock::time_point &gt; getCloseTimeBySeq(LedgerIndex ledgerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01676">LedgerMaster.cpp:1676</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a0f8f8d7da8ad66630bdb22919c4789f7"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a0f8f8d7da8ad66630bdb22919c4789f7">ripple::LedgerMaster::getBuildingLedger</a></div><div class="ttdeci">LedgerIndex getBuildingLedger()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00573">LedgerMaster.cpp:573</a></div></div>
<div class="ttc" id="alimits_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/limits.html">limits</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ac5898dfd3da0b6b11998976b6a31dab9"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ac5898dfd3da0b6b11998976b6a31dab9">ripple::LedgerMaster::addFetchPack</a></div><div class="ttdeci">void addFetchPack(uint256 const &amp;hash, std::shared_ptr&lt; Blob &gt; data)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l02119">LedgerMaster.cpp:2119</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a79feb7167d74a61f8cb1e273cb71b8c6"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a79feb7167d74a61f8cb1e273cb71b8c6">ripple::LedgerMaster::clearLedger</a></div><div class="ttdeci">void clearLedger(std::uint32_t seq)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00593">LedgerMaster.cpp:593</a></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_1NetworkOPs_html_aed88fd077392ff34912bc591065c07ee"><div class="ttname"><a href="classripple_1_1NetworkOPs.html#aed88fd077392ff34912bc591065c07ee">ripple::NetworkOPs::clearAmendmentWarned</a></div><div class="ttdeci">virtual void clearAmendmentWarned()=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ab7af221b6b993c60afbc18b872f68cfb"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ab7af221b6b993c60afbc18b872f68cfb">ripple::LedgerMaster::getLedgerHashForHistory</a></div><div class="ttdeci">std::optional&lt; LedgerHash &gt; getLedgerHashForHistory(LedgerIndex index, InboundLedger::Reason reason)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01297">LedgerMaster.cpp:1297</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a7621d03781287445cfabcb91046f141d"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a7621d03781287445cfabcb91046f141d">ripple::LedgerMaster::m_journal</a></div><div class="ttdeci">beast::Journal m_journal</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00353">LedgerMaster.h:353</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aff01e5be205edd638601cc993bd4d140"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aff01e5be205edd638601cc993bd4d140">ripple::LedgerMaster::getCloseTimeBySeq</a></div><div class="ttdeci">boost::optional&lt; NetClock::time_point &gt; getCloseTimeBySeq(LedgerIndex ledgerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01676">LedgerMaster.cpp:1676</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="anamespaceripple_html_aefd2f77338ce3c9a2fffc4f0b289b483"><div class="ttname"><a href="namespaceripple.html#aefd2f77338ce3c9a2fffc4f0b289b483">ripple::LogicError</a></div><div class="ttdeci">void LogicError(std::string const &amp;how) noexcept</div><div class="ttdoc">Called when faulty logic causes a broken invariant.</div><div class="ttdef"><b>Definition:</b> <a href="contract_8cpp_source.html#l00048">contract.cpp:48</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae3f5bc352766a1a8dbf5270eb7dbc2e7"><div class="ttname"><a href="namespaceripple.html#ae3f5bc352766a1a8dbf5270eb7dbc2e7">ripple::sha512Half</a></div><div class="ttdeci">sha512_half_hasher::result_type sha512Half(Args const &amp;... args)</div><div class="ttdoc">Returns the SHA512-Half of a series of objects.</div><div class="ttdef"><b>Definition:</b> <a href="digest_8h_source.html#l00216">digest.h:216</a></div></div>
@@ -2620,36 +2622,39 @@ $(function() {
<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_1Rules_html"><div class="ttname"><a href="classripple_1_1Rules.html">ripple::Rules</a></div><div class="ttdoc">Rules controlling protocol behavior.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00131">ReadView.h:131</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerHistory_html_a9d3e04a8d477455a9da28022915bad81"><div class="ttname"><a href="classripple_1_1LedgerHistory.html#a9d3e04a8d477455a9da28022915bad81">ripple::LedgerHistory::clearLedgerCachePrior</a></div><div class="ttdeci">void clearLedgerCachePrior(LedgerIndex seq)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerHistory_8cpp_source.html#l00534">LedgerHistory.cpp:534</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="aclassripple_1_1Overlay_html_a81a1499888369dfb338d45af35f09068"><div class="ttname"><a href="classripple_1_1Overlay.html#a81a1499888369dfb338d45af35f09068">ripple::Overlay::checkTracking</a></div><div class="ttdeci">virtual void checkTracking(std::uint32_t index)=0</div><div class="ttdoc">Calls the checkTracking function on each peer.</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a37b15652f758d0ff633fc4f4384000e7"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a37b15652f758d0ff633fc4f4384000e7">ripple::LedgerMaster::mShardLedger</a></div><div class="ttdeci">std::shared_ptr&lt; Ledger const &gt; mShardLedger</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00373">LedgerMaster.h:373</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_a556228cb60bcf405c225d3f64b7b01ae"><div class="ttname"><a href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">beast::Journal::debug</a></div><div class="ttdeci">Stream debug() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00315">Journal.h:315</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a6d84a7bc393900b8d1d12008dcfce9b4"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a6d84a7bc393900b8d1d12008dcfce9b4">ripple::LedgerMaster::updatePaths</a></div><div class="ttdeci">void updatePaths(Job &amp;job)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01479">LedgerMaster.cpp:1479</a></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="anamespaceripple_html_a991ad04127005bca99824203dfe2e783"><div class="ttname"><a href="namespaceripple.html#a991ad04127005bca99824203dfe2e783">ripple::getHashesByIndex</a></div><div class="ttdeci">bool getHashesByIndex(std::uint32_t ledgerIndex, uint256 &amp;ledgerHash, uint256 &amp;parentHash, Application &amp;app)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01633">Ledger.cpp:1633</a></div></div>
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &amp;m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00038">app/misc/impl/Manifest.cpp:38</a></div></div>
<div class="ttc" id="anamespaceripple_html_a991ad04127005bca99824203dfe2e783"><div class="ttname"><a href="namespaceripple.html#a991ad04127005bca99824203dfe2e783">ripple::getHashesByIndex</a></div><div class="ttdeci">bool getHashesByIndex(std::uint32_t ledgerIndex, uint256 &amp;ledgerHash, uint256 &amp;parentHash, Application &amp;app)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01631">Ledger.cpp:1631</a></div></div>
<div class="ttc" id="amake_pair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a></div><div class="ttdeci">T make_pair(T... args)</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="aclassripple_1_1LedgerMaster_html_adbb16e4fb8acf01bd535684e45d20051"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#adbb16e4fb8acf01bd535684e45d20051">ripple::LedgerMaster::storeLedger</a></div><div class="ttdeci">bool storeLedger(std::shared_ptr&lt; Ledger const &gt; ledger)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00527">LedgerMaster.cpp:527</a></div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1InboundLedger_html_a3e8d7f8b5fa089a184dcc9b00b6e0da7"><div class="ttname"><a href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7">ripple::InboundLedger::Reason</a></div><div class="ttdeci">Reason</div><div class="ttdef"><b>Definition:</b> <a href="InboundLedger_8h_source.html#l00046">InboundLedger.h:46</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_aed2839ae4fa38c17719b4547056c77fa"><div class="ttname"><a href="classripple_1_1Application.html#aed2839ae4fa38c17719b4547056c77fa">ripple::Application::getLedgerReplayer</a></div><div class="ttdeci">virtual LedgerReplayer &amp; getLedgerReplayer()=0</div></div>
<div class="ttc" id="aclassripple_1_1SHAMapHash_html_a8f95b5bc14b7085d368f56aeaa17ef4f"><div class="ttname"><a href="classripple_1_1SHAMapHash.html#a8f95b5bc14b7085d368f56aeaa17ef4f">ripple::SHAMapHash::as_uint256</a></div><div class="ttdeci">uint256 const &amp; as_uint256() const</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapTreeNode_8h_source.html#l00058">SHAMapTreeNode.h:58</a></div></div>
<div class="ttc" id="aclassripple_1_1SHAMapHash_html_a8f95b5bc14b7085d368f56aeaa17ef4f"><div class="ttname"><a href="classripple_1_1SHAMapHash.html#a8f95b5bc14b7085d368f56aeaa17ef4f">ripple::SHAMapHash::as_uint256</a></div><div class="ttdeci">uint256 const &amp; as_uint256() const</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapTreeNode_8h_source.html#l00059">SHAMapTreeNode.h:59</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a6f1008fae10cc18f12aaee19091d9980"><div class="ttname"><a href="classripple_1_1Application.html#a6f1008fae10cc18f12aaee19091d9980">ripple::Application::getSHAMapStore</a></div><div class="ttdeci">virtual SHAMapStore &amp; getSHAMapStore()=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a2204e39a00d7a57401d99b520c2721fd"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a2204e39a00d7a57401d99b520c2721fd">ripple::LedgerMaster::setLedgerRangePresent</a></div><div class="ttdeci">void setLedgerRangePresent(std::uint32_t minV, std::uint32_t maxV)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01836">LedgerMaster.cpp:1836</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17aac6876ad6800d8cd0a4c9a306baf35204"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17aac6876ad6800d8cd0a4c9a306baf35204">ripple::jtADVANCE</a></div><div class="ttdeci">@ jtADVANCE</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00055">Job.h:55</a></div></div>
<div class="ttc" id="amax_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a></div><div class="ttdeci">T max(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_aa5c7aa53db0c7c90c6a86dd5144e9255"><div class="ttname"><a href="classripple_1_1Serializer.html#aa5c7aa53db0c7c90c6a86dd5144e9255">ripple::Serializer::getLength</a></div><div class="ttdeci">int getLength() const</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00197">Serializer.h:197</a></div></div>
<div class="ttc" id="anamespaceripple_html_a276b9076d790b69ea4d9e13720a12ec8"><div class="ttname"><a href="namespaceripple.html#a276b9076d790b69ea4d9e13720a12ec8">ripple::getCandidateLedger</a></div><div class="ttdeci">LedgerIndex getCandidateLedger(LedgerIndex requested)</div><div class="ttdoc">Find a ledger index from which we could easily get the requested ledger.</div><div class="ttdef"><b>Definition:</b> <a href="View_8h_source.html#l00187">View.h:187</a></div></div>
<div class="ttc" id="aclassripple_1_1Serializer_html_aa5c7aa53db0c7c90c6a86dd5144e9255"><div class="ttname"><a href="classripple_1_1Serializer.html#aa5c7aa53db0c7c90c6a86dd5144e9255">ripple::Serializer::getLength</a></div><div class="ttdeci">int getLength() const</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00199">Serializer.h:199</a></div></div>
<div class="ttc" id="anamespaceripple_html_a276b9076d790b69ea4d9e13720a12ec8"><div class="ttname"><a href="namespaceripple.html#a276b9076d790b69ea4d9e13720a12ec8">ripple::getCandidateLedger</a></div><div class="ttdeci">LedgerIndex getCandidateLedger(LedgerIndex requested)</div><div class="ttdoc">Find a ledger index from which we could easily get the requested ledger.</div><div class="ttdef"><b>Definition:</b> <a href="View_8h_source.html#l00186">View.h:186</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aaca332ba03dc121168ff950ac06cada3"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aaca332ba03dc121168ff950ac06cada3">ripple::LedgerMaster::consensusBuilt</a></div><div class="ttdeci">void consensusBuilt(std::shared_ptr&lt; Ledger const &gt; const &amp;ledger, uint256 const &amp;consensusHash, Json::Value consensus)</div><div class="ttdoc">Report that the consensus process built a particular ledger.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01175">LedgerMaster.cpp:1175</a></div></div>
<div class="ttc" id="aclassripple_1_1PathRequests_html_a3cfce7f0a24bb682ea2bfd44904fefce"><div class="ttname"><a href="classripple_1_1PathRequests.html#a3cfce7f0a24bb682ea2bfd44904fefce">ripple::PathRequests::updateAll</a></div><div class="ttdeci">void updateAll(std::shared_ptr&lt; ReadView const &gt; const &amp;ledger, Job::CancelCallback shouldCancel)</div><div class="ttdoc">Update all of the contained PathRequest instances.</div><div class="ttdef"><b>Definition:</b> <a href="PathRequests_8cpp_source.html#l00058">PathRequests.cpp:58</a></div></div>
<div class="ttc" id="aclassripple_1_1SerialIter_html_aba6df51d44a50b1cfdc114e89456147a"><div class="ttname"><a href="classripple_1_1SerialIter.html#aba6df51d44a50b1cfdc114e89456147a">ripple::SerialIter::get32</a></div><div class="ttdeci">std::uint32_t get32()</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8cpp_source.html#l00378">Serializer.cpp:378</a></div></div>
<div class="ttc" id="aclassripple_1_1SerialIter_html_aba6df51d44a50b1cfdc114e89456147a"><div class="ttname"><a href="classripple_1_1SerialIter.html#aba6df51d44a50b1cfdc114e89456147a">ripple::SerialIter::get32</a></div><div class="ttdeci">std::uint32_t get32()</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8cpp_source.html#l00386">Serializer.cpp:386</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ace95f320aee07ca23373121af005079b"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ace95f320aee07ca23373121af005079b">ripple::LedgerMaster::mValidLedger</a></div><div class="ttdeci">LedgerHolder mValidLedger</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00361">LedgerMaster.h:361</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aea2f8196639c79102118b0f3ea7ccdff"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aea2f8196639c79102118b0f3ea7ccdff">ripple::LedgerMaster::fetch_seq_</a></div><div class="ttdeci">std::uint32_t fetch_seq_</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00422">LedgerMaster.h:422</a></div></div>
<div class="ttc" id="aclassripple_1_1LoadFeeTrack_html_a7323c2513443e8ea3a82489ba229c65c"><div class="ttname"><a href="classripple_1_1LoadFeeTrack.html#a7323c2513443e8ea3a82489ba229c65c">ripple::LoadFeeTrack::setRemoteFee</a></div><div class="ttdeci">void setRemoteFee(std::uint32_t f)</div><div class="ttdef"><b>Definition:</b> <a href="LoadFeeTrack_8h_source.html#l00059">LoadFeeTrack.h:59</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a4f59228c74d5491f68333ef250431cdb"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a4f59228c74d5491f68333ef250431cdb">ripple::LedgerMaster::getHashBySeq</a></div><div class="ttdeci">uint256 getHashBySeq(std::uint32_t index)</div><div class="ttdoc">Get a ledger's hash by sequence number using the cache.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01706">LedgerMaster.cpp:1706</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ac93d1652035e6600635bdf6cba0d510a"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ac93d1652035e6600635bdf6cba0d510a">ripple::LedgerMaster::findNewLedgersToPublish</a></div><div class="ttdeci">std::vector&lt; std::shared_ptr&lt; Ledger const &gt; &gt; findNewLedgersToPublish(std::unique_lock&lt; std::recursive_mutex &gt; &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01320">LedgerMaster.cpp:1320</a></div></div>
<div class="ttc" id="anamespaceripple_html_afd9c0655540fb85bcc173ec81c7c7290"><div class="ttname"><a href="namespaceripple.html#afd9c0655540fb85bcc173ec81c7c7290">ripple::pendSaveValidated</a></div><div class="ttdeci">bool pendSaveValidated(Application &amp;app, std::shared_ptr&lt; Ledger const &gt; const &amp;ledger, bool isSynchronous, bool isCurrent)</div><div class="ttdoc">Save, or arrange to save, a fully-validated ledger Returns false on error.</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01123">Ledger.cpp:1123</a></div></div>
<div class="ttc" id="anamespaceripple_html_afd9c0655540fb85bcc173ec81c7c7290"><div class="ttname"><a href="namespaceripple.html#afd9c0655540fb85bcc173ec81c7c7290">ripple::pendSaveValidated</a></div><div class="ttdeci">bool pendSaveValidated(Application &amp;app, std::shared_ptr&lt; Ledger const &gt; const &amp;ledger, bool isSynchronous, bool isCurrent)</div><div class="ttdoc">Save, or arrange to save, a fully-validated ledger Returns false on error.</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01121">Ledger.cpp:1121</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a6e70b1320b512bce863a8672be1e3b7d"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a6e70b1320b512bce863a8672be1e3b7d">ripple::LedgerMaster::isCaughtUp</a></div><div class="ttdeci">bool isCaughtUp(std::string &amp;reason)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00304">LedgerMaster.cpp:304</a></div></div>
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a17c4b88b151507f01b3b4b510b9b3818"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a17c4b88b151507f01b3b4b510b9b3818">ripple::LedgerMaster::getCloseTimeByHash</a></div><div class="ttdeci">std::optional&lt; NetClock::time_point &gt; getCloseTimeByHash(LedgerHash const &amp;ledgerHash, LedgerIndex ledgerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01684">LedgerMaster.cpp:1684</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_aae6f0eb246e1a10b8c025b116e6993f0"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#aae6f0eb246e1a10b8c025b116e6993f0">ripple::LedgerMaster::mPathFindThread</a></div><div class="ttdeci">int mPathFindThread</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00397">LedgerMaster.h:397</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundLedger_html_a3e8d7f8b5fa089a184dcc9b00b6e0da7a5fe9db299562a253ce0745d25f54eb0f"><div class="ttname"><a href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7a5fe9db299562a253ce0745d25f54eb0f">ripple::InboundLedger::Reason::SHARD</a></div><div class="ttdeci">@ SHARD</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a8b03e1bd54e7333ec6413df85b2e70c1"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a8b03e1bd54e7333ec6413df85b2e70c1">ripple::LedgerMaster::mValidLedgerSign</a></div><div class="ttdeci">std::atomic&lt; std::uint32_t &gt; mValidLedgerSign</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00405">LedgerMaster.h:405</a></div></div>
@@ -2664,7 +2669,6 @@ $(function() {
<div class="ttc" id="aclassripple_1_1OpenLedger_html_a05ada40b015a008ffd28668b8daf5808"><div class="ttname"><a href="classripple_1_1OpenLedger.html#a05ada40b015a008ffd28668b8daf5808">ripple::OpenLedger::modify</a></div><div class="ttdeci">bool modify(modify_type const &amp;f)</div><div class="ttdoc">Modify the open ledger.</div><div class="ttdef"><b>Definition:</b> <a href="OpenLedger_8cpp_source.html#l00057">OpenLedger.cpp:57</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundLedgers_html_abfa7313dd062dc0f416dfa71d8dad546"><div class="ttname"><a href="classripple_1_1InboundLedgers.html#abfa7313dd062dc0f416dfa71d8dad546">ripple::InboundLedgers::isFailure</a></div><div class="ttdeci">virtual bool isFailure(uint256 const &amp;h)=0</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_af2bd33674e29d753ce962e831feb469e"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#af2bd33674e29d753ce962e831feb469e">ripple::LedgerMaster::tryFill</a></div><div class="ttdeci">void tryFill(Job &amp;job, std::shared_ptr&lt; Ledger const &gt; ledger)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00709">LedgerMaster.cpp:709</a></div></div>
<div class="ttc" id="aclassripple_1_1AmendmentTable_html_a1f446677c34bd26566000b9989d3c278"><div class="ttname"><a href="classripple_1_1AmendmentTable.html#a1f446677c34bd26566000b9989d3c278">ripple::AmendmentTable::firstUnsupportedExpected</a></div><div class="ttdeci">virtual boost::optional&lt; NetClock::time_point &gt; firstUnsupportedExpected() const =0</div></div>
<div class="ttc" id="awhat_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/exception/what.html">std::runtime_error::what</a></div><div class="ttdeci">T what(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a414aa94e494bb1e86e6f17ee84b204f6"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a414aa94e494bb1e86e6f17ee84b204f6">ripple::LedgerMaster::getCacheHitRate</a></div><div class="ttdeci">float getCacheHitRate()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01856">LedgerMaster.cpp:1856</a></div></div>
<div class="ttc" id="aclassripple_1_1CanonicalTXSet_html_af36fed1e1de928391be3cd7c29f94b52"><div class="ttname"><a href="classripple_1_1CanonicalTXSet.html#af36fed1e1de928391be3cd7c29f94b52">ripple::CanonicalTXSet::reset</a></div><div class="ttdeci">void reset(LedgerHash const &amp;salt)</div><div class="ttdef"><b>Definition:</b> <a href="CanonicalTXSet_8h_source.html#l00129">CanonicalTXSet.h:129</a></div></div>
@@ -2673,7 +2677,7 @@ $(function() {
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00145">json_value.h:145</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_ac57d9b2dd4e172f0934c7a1e34485842"><div class="ttname"><a href="classripple_1_1Application.html#ac57d9b2dd4e172f0934c7a1e34485842">ripple::Application::getMaxDisallowedLedger</a></div><div class="ttdeci">virtual LedgerIndex getMaxDisallowedLedger()=0</div><div class="ttdoc">Ensure that a newly-started validator does not sign proposals older than the last ledger it persisted...</div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a498847d43f1042eabbc26ce3e37c38c4"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a498847d43f1042eabbc26ce3e37c38c4">ripple::LedgerMaster::m_mutex</a></div><div class="ttdeci">std::recursive_mutex m_mutex</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00355">LedgerMaster.h:355</a></div></div>
<div class="ttc" id="aclassripple_1_1Validations_html_a9c41d5e8820fea00d05ead822f7fa1f0"><div class="ttname"><a href="classripple_1_1Validations.html#a9c41d5e8820fea00d05ead822f7fa1f0">ripple::Validations::currentTrusted</a></div><div class="ttdeci">std::vector&lt; WrappedValidationType &gt; currentTrusted()</div><div class="ttdoc">Get the currently trusted full validations.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l00952">Validations.h:952</a></div></div>
<div class="ttc" id="aclassripple_1_1Validations_html_a9c41d5e8820fea00d05ead822f7fa1f0"><div class="ttname"><a href="classripple_1_1Validations.html#a9c41d5e8820fea00d05ead822f7fa1f0">ripple::Validations::currentTrusted</a></div><div class="ttdeci">std::vector&lt; WrappedValidationType &gt; currentTrusted()</div><div class="ttdoc">Get the currently trusted full validations.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l00958">Validations.h:958</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a675d94d14aec2bfbbc4ec9209830e3af"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a675d94d14aec2bfbbc4ec9209830e3af">ripple::LedgerMaster::collect_metrics</a></div><div class="ttdeci">void collect_metrics()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00455">LedgerMaster.h:455</a></div></div>
<div class="ttc" id="aclassripple_1_1Stoppable_html_a836b8737444ef1133c3596e61010fa80"><div class="ttname"><a href="classripple_1_1Stoppable.html#a836b8737444ef1133c3596e61010fa80">ripple::Stoppable::isStopping</a></div><div class="ttdeci">bool isStopping() const</div><div class="ttdoc">Returns true if the stoppable should stop.</div><div class="ttdef"><b>Definition:</b> <a href="Stoppable_8cpp_source.html#l00054">Stoppable.cpp:54</a></div></div>
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_ad827727062382b84da77ab287aba6ccf"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#ad827727062382b84da77ab287aba6ccf">ripple::LedgerMaster::standalone_</a></div><div class="ttdeci">const bool standalone_</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8h_source.html#l00410">LedgerMaster.h:410</a></div></div>