This commit is contained in:
bthomee
2025-05-08 10:18:19 +00:00
parent 33e969bfe2
commit 3c36d01be9
2172 changed files with 52649 additions and 41424 deletions

View File

@@ -198,9 +198,9 @@ $(function() {
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html">std::make_tuple</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>())); <span class="comment">// Entry</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> </div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> entry = &amp;resultIt-&gt;second;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a36405d4dc065cdecf488e9e803220d23">key</a> = &amp;resultIt-&gt;first;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> ++entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a>;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a> == 1)</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> entry-&gt;key = &amp;resultIt-&gt;first;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> ++entry-&gt;refcount;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">if</span> (entry-&gt;refcount == 1)</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> {</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">if</span> (!resultInserted)</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> {</div>
@@ -228,9 +228,9 @@ $(function() {
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html">std::make_tuple</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>())); <span class="comment">// Entry</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> entry = &amp;resultIt-&gt;second;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a36405d4dc065cdecf488e9e803220d23">key</a> = &amp;resultIt-&gt;first;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> ++entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a>;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a> == 1)</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> entry-&gt;key = &amp;resultIt-&gt;first;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> ++entry-&gt;refcount;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">if</span> (entry-&gt;refcount == 1)</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> {</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordflow">if</span> (!resultInserted)</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a309a338bf70f11d9c39fec8914343331">inactive_</a>.<a class="code hl_function" href="classbeast_1_1List.html#aeed218d106b4ab72b2290ac953f97405">erase</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a309a338bf70f11d9c39fec8914343331">inactive_</a>.<a class="code hl_function" href="classbeast_1_1List.html#a052268b3c6b478ceadfc0044e2f44636">iterator_to</a>(*entry));</div>
@@ -256,9 +256,9 @@ $(function() {
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html">std::make_tuple</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>())); <span class="comment">// Entry</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> entry = &amp;resultIt-&gt;second;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a36405d4dc065cdecf488e9e803220d23">key</a> = &amp;resultIt-&gt;first;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> ++entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a>;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span> (entry-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a> == 1)</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> entry-&gt;key = &amp;resultIt-&gt;first;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> ++entry-&gt;refcount;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span> (entry-&gt;refcount == 1)</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> {</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (!resultInserted)</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a309a338bf70f11d9c39fec8914343331">inactive_</a>.<a class="code hl_function" href="classbeast_1_1List.html#aeed218d106b4ab72b2290ac953f97405">erase</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a309a338bf70f11d9c39fec8914343331">inactive_</a>.<a class="code hl_function" href="classbeast_1_1List.html#a052268b3c6b478ceadfc0044e2f44636">iterator_to</a>(*entry));</div>
@@ -475,7 +475,7 @@ $(function() {
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ac357c9604f37854071b5d5b4a29fda4b">lock_</a>);</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <a class="code hl_struct" href="structripple_1_1Resource_1_1Entry.html">Entry</a>&amp; entry(iter-&gt;second);</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> XRPL_ASSERT(</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a> == 0,</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> entry.refcount == 0,</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <span class="stringliteral">&quot;ripple::Resource::Logic::erase : entry not used&quot;</span>);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a309a338bf70f11d9c39fec8914343331">inactive_</a>.<a class="code hl_function" href="classbeast_1_1List.html#aeed218d106b4ab72b2290ac953f97405">erase</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a309a338bf70f11d9c39fec8914343331">inactive_</a>.<a class="code hl_function" href="classbeast_1_1List.html#a052268b3c6b478ceadfc0044e2f44636">iterator_to</a>(entry));</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a68423e9ac9b9f1da163972ecda648c11">table_</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/erase.html">erase</a>(iter);</div>
@@ -485,18 +485,18 @@ $(function() {
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="classripple_1_1Resource_1_1Logic.html#a238bbab1d75d1426079ba135a1787f25"> 413</a></span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#a238bbab1d75d1426079ba135a1787f25">acquire</a>(<a class="code hl_struct" href="structripple_1_1Resource_1_1Entry.html">Entry</a>&amp; entry)</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> {</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ac357c9604f37854071b5d5b4a29fda4b">lock_</a>);</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> ++entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a>;</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> ++entry.refcount;</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> }</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> </div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="keywordtype">void</span></div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"><a class="line" href="classripple_1_1Resource_1_1Logic.html#aea96963568b141f4fe8490dcef124a4b"> 420</a></span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#aea96963568b141f4fe8490dcef124a4b">release</a>(<a class="code hl_struct" href="structripple_1_1Resource_1_1Entry.html">Entry</a>&amp; entry)</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> {</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ac357c9604f37854071b5d5b4a29fda4b">lock_</a>);</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">if</span> (--entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a> == 0)</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> <span class="keywordflow">if</span> (--entry.refcount == 0)</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> {</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> JLOG(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a3dfa9976922bab7139cf0754e3e38b6c">m_journal</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) &lt;&lt; <span class="stringliteral">&quot;Inactive &quot;</span> &lt;&lt; entry;</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> </div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">switch</span> (entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a36405d4dc065cdecf488e9e803220d23">key</a>-&gt;<a class="code hl_variable" href="structripple_1_1Resource_1_1Key.html#afc16c2cbfed9837b2f1eb9554c0f21e3">kind</a>)</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">switch</span> (entry.key-&gt;kind)</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> {</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="namespaceripple_1_1Resource.html#a21bb0387f51ba0f1dc971bce94ffbac9a13db1e92697b16d8f50c272379548b97">kindInbound</a>:</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ae162b43551e2e59881901e90dbb3f582">inbound_</a>.<a class="code hl_function" href="classbeast_1_1List.html#aeed218d106b4ab72b2290ac953f97405">erase</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ae162b43551e2e59881901e90dbb3f582">inbound_</a>.<a class="code hl_function" href="classbeast_1_1List.html#a052268b3c6b478ceadfc0044e2f44636">iterator_to</a>(entry));</div>
@@ -514,7 +514,7 @@ $(function() {
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> }</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a309a338bf70f11d9c39fec8914343331">inactive_</a>.<a class="code hl_function" href="classbeast_1_1List.html#a0ced815cdedb1b2323cd9adf97cca504">push_back</a>(entry);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a7f29a0594727601ebd4269bb6e217eca">whenExpires</a> = <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>() + <a class="code hl_variable" href="namespaceripple_1_1Resource.html#afb1e95c59140206fe975158f4cde3fd3">secondsUntilExpiration</a>;</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> entry.whenExpires = <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>() + <a class="code hl_variable" href="namespaceripple_1_1Resource.html#afb1e95c59140206fe975158f4cde3fd3">secondsUntilExpiration</a>;</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> }</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> }</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> </div>
@@ -544,7 +544,7 @@ $(function() {
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> </div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ac357c9604f37854071b5d5b4a29fda4b">lock_</a>);</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <a class="code hl_typedef" href="classbeast_1_1abstract__clock.html#a4e16832b0bdf9392c5138bbbde024d8e">clock_type::time_point</a> <span class="keyword">const</span> now(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>());</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">int</span> <span class="keyword">const</span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec">balance</a>(entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a630a55b81eb0ae18c45e83b253bdbd05">add</a>(fee.<a class="code hl_function" href="classripple_1_1Resource_1_1Charge.html#abeec2cf87ea2c1afd5b33135dfa6253d">cost</a>(), now));</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">int</span> <span class="keyword">const</span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec">balance</a>(entry.add(fee.<a class="code hl_function" href="classripple_1_1Resource_1_1Charge.html#abeec2cf87ea2c1afd5b33135dfa6253d">cost</a>(), now));</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> JLOG(getStream(fee.<a class="code hl_function" href="classripple_1_1Resource_1_1Charge.html#abeec2cf87ea2c1afd5b33135dfa6253d">cost</a>(), <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a3dfa9976922bab7139cf0754e3e38b6c">m_journal</a>))</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> &lt;&lt; <span class="stringliteral">&quot;Charging &quot;</span> &lt;&lt; entry &lt;&lt; <span class="stringliteral">&quot; for &quot;</span> &lt;&lt; fee &lt;&lt; context;</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#aef42d962718ad2f7d2c732185e03b218">disposition</a>(<a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec">balance</a>);</div>
@@ -553,18 +553,18 @@ $(function() {
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"><a class="line" href="classripple_1_1Resource_1_1Logic.html#a88c5bb6539e2b72d9768c43b2b79ea5b"> 482</a></span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#a88c5bb6539e2b72d9768c43b2b79ea5b">warn</a>(<a class="code hl_struct" href="structripple_1_1Resource_1_1Entry.html">Entry</a>&amp; entry)</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> {</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">if</span> (entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a57a1414566dc5941f2ffd9986fced385">isUnlimited</a>())</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keywordflow">if</span> (entry.isUnlimited())</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> </div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ac357c9604f37854071b5d5b4a29fda4b">lock_</a>);</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="keywordtype">bool</span> notify(<span class="keyword">false</span>);</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> <span class="keyword">auto</span> <span class="keyword">const</span> elapsed = <a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>();</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">if</span> (entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a73c79c68a4fa07e44a288dbfda8501d5">balance</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>()) &gt;= <a class="code hl_enumvalue" href="namespaceripple_1_1Resource.html#ac4da9b82372d6a029b9cb7329caa6f3caf9650eae9082653d5c5c741cfdb13d5f">warningThreshold</a> &amp;&amp;</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> elapsed != entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#adc2dbd0b7399f896ac5e93d338e704f7">lastWarningTime</a>)</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="keywordflow">if</span> (entry.balance(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>()) &gt;= <a class="code hl_enumvalue" href="namespaceripple_1_1Resource.html#ac4da9b82372d6a029b9cb7329caa6f3caf9650eae9082653d5c5c741cfdb13d5f">warningThreshold</a> &amp;&amp;</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> elapsed != entry.lastWarningTime)</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> {</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#acd9c2e5ff93cd698cabe63b52f07f140">charge</a>(entry, <a class="code hl_variable" href="namespaceripple_1_1Resource.html#a9bf0bd7a02008885350cc04739e105e3">feeWarning</a>);</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> notify = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#adc2dbd0b7399f896ac5e93d338e704f7">lastWarningTime</a> = elapsed;</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> entry.lastWarningTime = elapsed;</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> }</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> <span class="keywordflow">if</span> (notify)</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> {</div>
@@ -577,13 +577,13 @@ $(function() {
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"><a class="line" href="classripple_1_1Resource_1_1Logic.html#aa45d85b6656c6b464b8e6bec3880e40a"> 506</a></span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#aa45d85b6656c6b464b8e6bec3880e40a">disconnect</a>(<a class="code hl_struct" href="structripple_1_1Resource_1_1Entry.html">Entry</a>&amp; entry)</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> {</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">if</span> (entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a57a1414566dc5941f2ffd9986fced385">isUnlimited</a>())</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> <span class="keywordflow">if</span> (entry.isUnlimited())</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> </div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ac357c9604f37854071b5d5b4a29fda4b">lock_</a>);</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="keywordtype">bool</span> <a class="code hl_enumvalue" href="namespaceripple_1_1Resource.html#ae12997de115c1cf0032794aa5ea1b15da34078bac5ac1af8f8cb7ab01d090c82e">drop</a>(<span class="keyword">false</span>);</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <a class="code hl_typedef" href="classbeast_1_1abstract__clock.html#a4e16832b0bdf9392c5138bbbde024d8e">clock_type::time_point</a> <span class="keyword">const</span> now(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>());</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <span class="keywordtype">int</span> <span class="keyword">const</span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec">balance</a>(entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a73c79c68a4fa07e44a288dbfda8501d5">balance</a>(now));</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <span class="keywordtype">int</span> <span class="keyword">const</span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec">balance</a>(entry.balance(now));</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec">balance</a> &gt;= <a class="code hl_enumvalue" href="namespaceripple_1_1Resource.html#ac4da9b82372d6a029b9cb7329caa6f3ca5c408bda92d525f5d989365db1d6c1e3">dropThreshold</a>)</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> {</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> JLOG(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a3dfa9976922bab7139cf0754e3e38b6c">m_journal</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">warn</a>())</div>
@@ -604,7 +604,7 @@ $(function() {
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"><a class="line" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec"> 532</a></span> <a class="code hl_function" href="classripple_1_1Resource_1_1Logic.html#adf7cd47a7f64ebc05b53627d8209bbec">balance</a>(<a class="code hl_struct" href="structripple_1_1Resource_1_1Entry.html">Entry</a>&amp; entry)</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> {</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#ac357c9604f37854071b5d5b4a29fda4b">lock_</a>);</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <span class="keywordflow">return</span> entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a73c79c68a4fa07e44a288dbfda8501d5">balance</a>(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>());</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <span class="keywordflow">return</span> entry.balance(<a class="code hl_variable" href="classripple_1_1Resource_1_1Logic.html#a7e446c761587c1cb096f00cb88f903c0">m_clock</a>.<a class="code hl_function" href="classbeast_1_1abstract__clock.html#ac9a577663353bfea66a096f12cb85293">now</a>());</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> }</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> </div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> <span class="comment">//--------------------------------------------------------------------------</span></div>
@@ -618,12 +618,12 @@ $(function() {
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; entry : list)</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> {</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <a class="code hl_class" href="classbeast_1_1PropertyStream_1_1Map.html">beast::PropertyStream::Map</a> item(items);</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a> != 0)</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> item[<span class="stringliteral">&quot;count&quot;</span>] = entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">refcount</a>;</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> item[<span class="stringliteral">&quot;name&quot;</span>] = entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a0b974f298dfb9f160e73f4b6a84e5176">to_string</a>();</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> item[<span class="stringliteral">&quot;balance&quot;</span>] = entry.<a class="code hl_function" href="structripple_1_1Resource_1_1Entry.html#a73c79c68a4fa07e44a288dbfda8501d5">balance</a>(now);</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> (entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#abc6e6439d972b598c2736e92cc3a13b6">remote_balance</a> != 0)</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> item[<span class="stringliteral">&quot;remote_balance&quot;</span>] = entry.<a class="code hl_variable" href="structripple_1_1Resource_1_1Entry.html#abc6e6439d972b598c2736e92cc3a13b6">remote_balance</a>;</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="keywordflow">if</span> (entry.refcount != 0)</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> item[<span class="stringliteral">&quot;count&quot;</span>] = entry.refcount;</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> item[<span class="stringliteral">&quot;name&quot;</span>] = entry.to_string();</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> item[<span class="stringliteral">&quot;balance&quot;</span>] = entry.balance(now);</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> (entry.remote_balance != 0)</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> item[<span class="stringliteral">&quot;remote_balance&quot;</span>] = entry.remote_balance;</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> }</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> }</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> </div>
@@ -747,15 +747,7 @@ $(function() {
<div class="ttc" id="arecursive_mutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a></div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt; Collector &gt;</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html">ripple::Resource::Entry</a></div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00037">Entry.h:38</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_a0b974f298dfb9f160e73f4b6a84e5176"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#a0b974f298dfb9f160e73f4b6a84e5176">ripple::Resource::Entry::to_string</a></div><div class="ttdeci">std::string to_string() const</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00054">Entry.h:54</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_a36405d4dc065cdecf488e9e803220d23"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#a36405d4dc065cdecf488e9e803220d23">ripple::Resource::Entry::key</a></div><div class="ttdeci">Key const * key</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00086">Entry.h:86</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_a3e780c3b19c2c14ec472886ad9290a8c"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#a3e780c3b19c2c14ec472886ad9290a8c">ripple::Resource::Entry::refcount</a></div><div class="ttdeci">int refcount</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00089">Entry.h:89</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_a57a1414566dc5941f2ffd9986fced385"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#a57a1414566dc5941f2ffd9986fced385">ripple::Resource::Entry::isUnlimited</a></div><div class="ttdeci">bool isUnlimited() const</div><div class="ttdoc">Returns true if this connection should have no resource limits appliedit is still possible for certa...</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00065">Entry.h:65</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_a630a55b81eb0ae18c45e83b253bdbd05"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#a630a55b81eb0ae18c45e83b253bdbd05">ripple::Resource::Entry::add</a></div><div class="ttdeci">int add(int charge, clock_type::time_point const now)</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00080">Entry.h:80</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_a73c79c68a4fa07e44a288dbfda8501d5"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#a73c79c68a4fa07e44a288dbfda8501d5">ripple::Resource::Entry::balance</a></div><div class="ttdeci">int balance(clock_type::time_point const now)</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00072">Entry.h:72</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_a7f29a0594727601ebd4269bb6e217eca"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#a7f29a0594727601ebd4269bb6e217eca">ripple::Resource::Entry::whenExpires</a></div><div class="ttdeci">clock_type::time_point whenExpires</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00101">Entry.h:101</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_abc6e6439d972b598c2736e92cc3a13b6"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#abc6e6439d972b598c2736e92cc3a13b6">ripple::Resource::Entry::remote_balance</a></div><div class="ttdeci">int remote_balance</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00095">Entry.h:95</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Entry_html_adc2dbd0b7399f896ac5e93d338e704f7"><div class="ttname"><a href="structripple_1_1Resource_1_1Entry.html#adc2dbd0b7399f896ac5e93d338e704f7">ripple::Resource::Entry::lastWarningTime</a></div><div class="ttdeci">clock_type::time_point lastWarningTime</div><div class="ttdef"><b>Definition:</b> <a href="Entry_8h_source.html#l00098">Entry.h:98</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Gossip_1_1Item_html"><div class="ttname"><a href="structripple_1_1Resource_1_1Gossip_1_1Item.html">ripple::Resource::Gossip::Item</a></div><div class="ttdoc">Describes a single consumer.</div><div class="ttdef"><b>Definition:</b> <a href="Gossip_8h_source.html#l00034">Gossip.h:35</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Gossip_1_1Item_html_a26ea56ffacbf146a58fe458c8a94cc3d"><div class="ttname"><a href="structripple_1_1Resource_1_1Gossip_1_1Item.html#a26ea56ffacbf146a58fe458c8a94cc3d">ripple::Resource::Gossip::Item::balance</a></div><div class="ttdeci">int balance</div><div class="ttdef"><b>Definition:</b> <a href="Gossip_8h_source.html#l00038">Gossip.h:38</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Gossip_1_1Item_html_a2da7a8b0b12fc95bdd8eaded4e65cb89"><div class="ttname"><a href="structripple_1_1Resource_1_1Gossip_1_1Item.html#a2da7a8b0b12fc95bdd8eaded4e65cb89">ripple::Resource::Gossip::Item::address</a></div><div class="ttdeci">beast::IP::Endpoint address</div><div class="ttdef"><b>Definition:</b> <a href="Gossip_8h_source.html#l00039">Gossip.h:39</a></div></div>
@@ -765,7 +757,6 @@ $(function() {
<div class="ttc" id="astructripple_1_1Resource_1_1Import_1_1Item_html_a57c30c59038c92c9cff4b3d291dd38e5"><div class="ttname"><a href="structripple_1_1Resource_1_1Import_1_1Item.html#a57c30c59038c92c9cff4b3d291dd38e5">ripple::Resource::Import::Item::balance</a></div><div class="ttdeci">int balance</div><div class="ttdef"><b>Definition:</b> <a href="Import_8h_source.html#l00036">Import.h:36</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Import_1_1Item_html_aa6de5d7c0a723a5c87524f68225974c5"><div class="ttname"><a href="structripple_1_1Resource_1_1Import_1_1Item.html#aa6de5d7c0a723a5c87524f68225974c5">ripple::Resource::Import::Item::consumer</a></div><div class="ttdeci">Consumer consumer</div><div class="ttdef"><b>Definition:</b> <a href="Import_8h_source.html#l00037">Import.h:37</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Import_html"><div class="ttname"><a href="structripple_1_1Resource_1_1Import.html">ripple::Resource::Import</a></div><div class="ttdoc">A set of imported consumer data from a gossip origin.</div><div class="ttdef"><b>Definition:</b> <a href="Import_8h_source.html#l00030">Import.h:31</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Key_html_afc16c2cbfed9837b2f1eb9554c0f21e3"><div class="ttname"><a href="structripple_1_1Resource_1_1Key.html#afc16c2cbfed9837b2f1eb9554c0f21e3">ripple::Resource::Key::kind</a></div><div class="ttdeci">Kind kind</div><div class="ttdef"><b>Definition:</b> <a href="Key_8h_source.html#l00033">Key.h:33</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Logic_1_1Stats_html"><div class="ttname"><a href="structripple_1_1Resource_1_1Logic_1_1Stats.html">ripple::Resource::Logic::Stats</a></div><div class="ttdef"><b>Definition:</b> <a href="include_2xrpl_2resource_2detail_2Logic_8h_source.html#l00049">include/xrpl/resource/detail/Logic.h:50</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Logic_1_1Stats_html_a71c447d75d99a75a1f792879c8adbf5e"><div class="ttname"><a href="structripple_1_1Resource_1_1Logic_1_1Stats.html#a71c447d75d99a75a1f792879c8adbf5e">ripple::Resource::Logic::Stats::Stats</a></div><div class="ttdeci">Stats(beast::insight::Collector::ptr const &amp;collector)</div><div class="ttdef"><b>Definition:</b> <a href="include_2xrpl_2resource_2detail_2Logic_8h_source.html#l00051">include/xrpl/resource/detail/Logic.h:51</a></div></div>
<div class="ttc" id="astructripple_1_1Resource_1_1Logic_1_1Stats_html_ace41491c727163f20f54995ee50111ce"><div class="ttname"><a href="structripple_1_1Resource_1_1Logic_1_1Stats.html#ace41491c727163f20f54995ee50111ce">ripple::Resource::Logic::Stats::warn</a></div><div class="ttdeci">beast::insight::Meter warn</div><div class="ttdef"><b>Definition:</b> <a href="include_2xrpl_2resource_2detail_2Logic_8h_source.html#l00057">include/xrpl/resource/detail/Logic.h:57</a></div></div>