This commit is contained in:
nbougalis
2020-12-05 06:17:37 +00:00
parent 27ba201b4c
commit ee2b4c457d
4211 changed files with 96026 additions and 94287 deletions

View File

@@ -228,119 +228,125 @@ $(function() {
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/list.html">std::list&lt;Blob&gt;</a> nodeData;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; node : packet.nodes())</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (!node.has_nodeid() || !node.has_nodedata() ||</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; (node.nodeid().size() != 33))</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; peer-&gt;charge(<a class="code" href="namespaceripple_1_1Resource.html#ae8affe62398aaca63fca0f78f22b8171">Resource::feeInvalidRequest</a>);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; nodeIDs.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/list/emplace_back.html">emplace_back</a>(</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; node.nodeid().data(), <span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(node.nodeid().size()));</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; nodeData.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/list/emplace_back.html">emplace_back</a>(</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; node.nodedata().begin(), node.nodedata().end());</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">if</span> (!ta-&gt;takeNodes(nodeIDs, nodeData, peer).isUseful())</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; peer-&gt;charge(<a class="code" href="namespaceripple_1_1Resource.html#ae7e4c5bca8d571cc88e6e63636d9559d">Resource::feeUnwantedData</a>);</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a0ada8457dc2d6460b6f2875951917f5c"> 180</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a0ada8457dc2d6460b6f2875951917f5c">giveSet</a>(</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; hash,</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SHAMap&gt;</a> <span class="keyword">const</span>&amp; <a class="code" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>,</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordtype">bool</span> fromAcquire)<span class="keyword"> override</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">bool</span> isNew = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</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_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keyword">auto</span>&amp; inboundSet = <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>[hash];</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">if</span> (inboundSet.mSeq &lt; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a>)</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; inboundSet.mSeq = <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a>;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">if</span> (inboundSet.mSet)</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; isNew = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; inboundSet.mSet = <a class="code" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; inboundSet.mAcquire.reset();</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (isNew)</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1">m_gotSet</a>(<a class="code" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>, fromAcquire);</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a1707fff4d233251ab6ce2b8747b7e3ad"> 208</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a1707fff4d233251ab6ce2b8747b7e3ad">newRound</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> seq)<span class="keyword"> override</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>);</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="comment">// Protect zero set from expiration</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a">m_zeroSet</a>.<a class="code" href="classripple_1_1InboundTransactionSet.html#ae9a3fc92fa604dec7fc167d02c107b2c">mSeq</a> = seq;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a> != seq)</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a> = seq;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/begin.html">begin</a>();</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (!node.has_nodeid() || !node.has_nodedata())</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; peer-&gt;charge(<a class="code" href="namespaceripple_1_1Resource.html#ae8affe62398aaca63fca0f78f22b8171">Resource::feeInvalidRequest</a>);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> <span class="keywordtype">id</span> = <a class="code" href="namespaceripple.html#a2f08d50eaefe0b52afe21deac6048746">deserializeSHAMapNodeID</a>(node.nodeid());</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span> (!<span class="keywordtype">id</span>)</div>
<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; peer-&gt;charge(<a class="code" href="namespaceripple_1_1Resource.html#a0051d327f5a6419ffb9b4a2dac7a81ed">Resource::feeBadData</a>);</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; nodeIDs.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/list/emplace_back.html">emplace_back</a>(*<span class="keywordtype">id</span>);</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; nodeData.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/list/emplace_back.html">emplace_back</a>(</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; node.nodedata().begin(), node.nodedata().end());</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (!ta-&gt;takeNodes(nodeIDs, nodeData, peer).isUseful())</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; peer-&gt;charge(<a class="code" href="namespaceripple_1_1Resource.html#ae7e4c5bca8d571cc88e6e63636d9559d">Resource::feeUnwantedData</a>);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a0ada8457dc2d6460b6f2875951917f5c"> 186</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a0ada8457dc2d6460b6f2875951917f5c">giveSet</a>(</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; hash,</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SHAMap&gt;</a> <span class="keyword">const</span>&amp; <a class="code" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordtype">bool</span> fromAcquire)<span class="keyword"> override</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordtype">bool</span> isNew = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</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_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">auto</span>&amp; inboundSet = <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>[hash];</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (inboundSet.mSeq &lt; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a>)</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; inboundSet.mSeq = <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a>;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (inboundSet.mSet)</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; isNew = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; inboundSet.mSet = <a class="code" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; inboundSet.mAcquire.reset();</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">if</span> (isNew)</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1">m_gotSet</a>(<a class="code" href="namespaceripple.html#a53f80df10254751781250aa20704e98f">set</a>, fromAcquire);</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a1707fff4d233251ab6ce2b8747b7e3ad"> 214</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a1707fff4d233251ab6ce2b8747b7e3ad">newRound</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> seq)<span class="keyword"> override</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>);</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="comment">// Protect zero set from expiration</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a">m_zeroSet</a>.<a class="code" href="classripple_1_1InboundTransactionSet.html#ae9a3fc92fa604dec7fc167d02c107b2c">mSeq</a> = seq;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <span class="keyword">const</span> minSeq =</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; (seq &lt; <a class="code" href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f">setKeepRounds</a>) ? 0 : (seq - <a class="code" href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f">setKeepRounds</a>);</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> maxSeq = seq + <a class="code" href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f">setKeepRounds</a>;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a> != seq)</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a> = seq;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">while</span> (it != <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/end.html">end</a>())</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.mSeq &lt; minSeq || it-&gt;second.mSeq &gt; maxSeq)</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; it = <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/erase.html">erase</a>(it);</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; ++it;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#aa7e193d3f153d0bd6c294c1b060a62aa"> 236</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#aa7e193d3f153d0bd6c294c1b060a62aa">onStop</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>);</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; </div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/clear.html">clear</a>();</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classripple_1_1Stoppable.html#a65a95f9c14637491df60d3a07518fa09">stopped</a>();</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#ac8f9a8b5e22c703cb3e92a274d0d207f"> 246</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">MapType</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">hash_map&lt;uint256, InboundTransactionSet&gt;</a>;</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/begin.html">begin</a>();</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <span class="keyword">const</span> minSeq =</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; (seq &lt; <a class="code" href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f">setKeepRounds</a>) ? 0 : (seq - <a class="code" href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f">setKeepRounds</a>);</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> maxSeq = seq + <a class="code" href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f">setKeepRounds</a>;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">while</span> (it != <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/end.html">end</a>())</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">if</span> (it-&gt;second.mSeq &lt; minSeq || it-&gt;second.mSeq &gt; maxSeq)</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; it = <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/erase.html">erase</a>(it);</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; ++it;</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#aa7e193d3f153d0bd6c294c1b060a62aa"> 242</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#aa7e193d3f153d0bd6c294c1b060a62aa">onStop</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> lock(<a class="code" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>);</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; </div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map/clear.html">clear</a>();</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3"> 248</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a> <a class="code" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>;</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; </div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a"> 250</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">MapType</a> <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>;</div>
<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20"> 251</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a>;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">// The empty transaction set whose hash is zero</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a"> 254</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionSet.html">InboundTransactionSet</a>&amp; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a">m_zeroSet</a>;</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="classripple_1_1Stoppable.html#a65a95f9c14637491df60d3a07518fa09">stopped</a>();</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#ac8f9a8b5e22c703cb3e92a274d0d207f"> 252</a></span>&#160; <span class="keyword">using</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">MapType</a> = <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">hash_map&lt;uint256, InboundTransactionSet&gt;</a>;</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; </div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3"> 254</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html">std::recursive_mutex</a> <a class="code" href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">mLock</a>;</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; </div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1"> 256</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SHAMap&gt;</a> <span class="keyword">const</span>&amp;, <span class="keywordtype">bool</span>)&gt; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1">m_gotSet</a>;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;};</div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a"> 256</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/unordered_map.html">MapType</a> <a class="code" href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">m_map</a>;</div>
<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20"> 257</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code" href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">m_seq</a>;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<a class="code" href="classripple_1_1InboundTransactions.html#ad6c5e57253b9a0bd5e6a2b933f57752f">InboundTransactions::~InboundTransactions</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; </div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;InboundTransactions&gt;</a></div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a"> 264</a></span>&#160;<a class="code" href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a">make_InboundTransactions</a>(</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="classripple_1_1Application.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="classripple_1_1Stoppable.html">Stoppable</a>&amp; parent,</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">beast::insight::Collector::ptr</a> <span class="keyword">const</span>&amp; collector,</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">void</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SHAMap&gt;</a> <span class="keyword">const</span>&amp;, <span class="keywordtype">bool</span>)&gt; gotSet)</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;{</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> std::make_unique&lt;InboundTransactionsImp&gt;(</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; app, parent, collector, std::move(gotSet));</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; </div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="comment">// The empty transaction set whose hash is zero</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a"> 260</a></span>&#160; <a class="code" href="classripple_1_1InboundTransactionSet.html">InboundTransactionSet</a>&amp; <a class="code" href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a">m_zeroSet</a>;</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; </div>
<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1"> 262</a></span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SHAMap&gt;</a> <span class="keyword">const</span>&amp;, <span class="keywordtype">bool</span>)&gt; <a class="code" href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1">m_gotSet</a>;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;};</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<a class="code" href="classripple_1_1InboundTransactions.html#ad6c5e57253b9a0bd5e6a2b933f57752f">InboundTransactions::~InboundTransactions</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; </div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr&lt;InboundTransactions&gt;</a></div>
<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a"> 270</a></span>&#160;<a class="code" href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a">make_InboundTransactions</a>(</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="classripple_1_1Application.html">Application</a>&amp; app,</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classripple_1_1Stoppable.html">Stoppable</a>&amp; parent,</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">beast::insight::Collector::ptr</a> <span class="keyword">const</span>&amp; collector,</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;<span class="keywordtype">void</span>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr&lt;SHAMap&gt;</a> <span class="keyword">const</span>&amp;, <span class="keywordtype">bool</span>)&gt; gotSet)</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> std::make_unique&lt;InboundTransactionsImp&gt;(</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; app, parent, collector, std::move(gotSet));</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;}</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; </div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<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#l00097">Application.h:97</a></div></div>
@@ -351,27 +357,29 @@ $(function() {
<div class="ttc" id="alist_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_ad8c25f71aeacdf6587313b083eac8158"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#ad8c25f71aeacdf6587313b083eac8158">ripple::InboundTransactionsImp::app_</a></div><div class="ttdeci">Application &amp; app_</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00064">InboundTransactions.cpp:64</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="anamespaceripple_html_a2f08d50eaefe0b52afe21deac6048746"><div class="ttname"><a href="namespaceripple.html#a2f08d50eaefe0b52afe21deac6048746">ripple::deserializeSHAMapNodeID</a></div><div class="ttdeci">std::optional&lt; SHAMapNodeID &gt; deserializeSHAMapNodeID(void const *data, std::size_t size)</div><div class="ttdoc">Return an object representing a serialized SHAMap Node ID.</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapNodeID_8cpp_source.html#l00101">SHAMapNodeID.cpp:101</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5d9fe757c37a7602a883d30b14e1bf3cae6bed345f53943469741d7295552fcd4"><div class="ttname"><a href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3cae6bed345f53943469741d7295552fcd4">ripple::SHAMapType::TRANSACTION</a></div><div class="ttdeci">@ TRANSACTION</div></div>
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map/find.html">std::unordered_map::find</a></div><div class="ttdeci">T find(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a0ada8457dc2d6460b6f2875951917f5c"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a0ada8457dc2d6460b6f2875951917f5c">ripple::InboundTransactionsImp::giveSet</a></div><div class="ttdeci">void giveSet(uint256 const &amp;hash, std::shared_ptr&lt; SHAMap &gt; const &amp;set, bool fromAcquire) override</div><div class="ttdoc">Add a transaction set.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00180">InboundTransactions.cpp:180</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a0ada8457dc2d6460b6f2875951917f5c"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a0ada8457dc2d6460b6f2875951917f5c">ripple::InboundTransactionsImp::giveSet</a></div><div class="ttdeci">void giveSet(uint256 const &amp;hash, std::shared_ptr&lt; SHAMap &gt; const &amp;set, bool fromAcquire) override</div><div class="ttdoc">Add a transaction set.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00186">InboundTransactions.cpp:186</a></div></div>
<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 class="ttdoc">STL class.</div></div>
<div class="ttc" id="alock_guard_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a81fbae0bbdb48567b3bb4737776d3ea3"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">ripple::InboundTransactionsImp::mLock</a></div><div class="ttdeci">std::recursive_mutex mLock</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00248">InboundTransactions.cpp:248</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a81fbae0bbdb48567b3bb4737776d3ea3"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a81fbae0bbdb48567b3bb4737776d3ea3">ripple::InboundTransactionsImp::mLock</a></div><div class="ttdeci">std::recursive_mutex mLock</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00254">InboundTransactions.cpp:254</a></div></div>
<div class="ttc" id="afunction_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html">ripple::InboundTransactionsImp</a></div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00061">InboundTransactions.cpp:61</a></div></div>
<div class="ttc" id="anamespaceripple_html_a6fb8bd4df2c5490143227e364868e46aab8652ba790968033ade1e2732478d440"><div class="ttname"><a href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aab8652ba790968033ade1e2732478d440">ripple::startPeers</a></div><div class="ttdeci">@ startPeers</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00036">InboundTransactions.cpp:36</a></div></div>
<div class="ttc" id="aclear_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map/clear.html">std::unordered_map::clear</a></div><div class="ttdeci">T clear(T... args)</div></div>
<div class="ttc" id="anamespaceripple_html_a356c68147333a9a48a344718038576d9"><div class="ttname"><a href="namespaceripple.html#a356c68147333a9a48a344718038576d9">ripple::uint256</a></div><div class="ttdeci">base_uint&lt; 256 &gt; uint256</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00493">base_uint.h:493</a></div></div>
<div class="ttc" id="anamespaceripple_html_a356c68147333a9a48a344718038576d9"><div class="ttname"><a href="namespaceripple.html#a356c68147333a9a48a344718038576d9">ripple::uint256</a></div><div class="ttdeci">base_uint&lt; 256 &gt; uint256</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00457">base_uint.h:457</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionSet_html_ae9a3fc92fa604dec7fc167d02c107b2c"><div class="ttname"><a href="classripple_1_1InboundTransactionSet.html#ae9a3fc92fa604dec7fc167d02c107b2c">ripple::InboundTransactionSet::mSeq</a></div><div class="ttdeci">std::uint32_t mSeq</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00046">InboundTransactions.cpp:46</a></div></div>
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint&lt; 256 &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_aa7e193d3f153d0bd6c294c1b060a62aa"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#aa7e193d3f153d0bd6c294c1b060a62aa">ripple::InboundTransactionsImp::onStop</a></div><div class="ttdeci">void onStop() override</div><div class="ttdoc">Override called when the stop notification is issued.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00236">InboundTransactions.cpp:236</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_aa7e193d3f153d0bd6c294c1b060a62aa"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#aa7e193d3f153d0bd6c294c1b060a62aa">ripple::InboundTransactionsImp::onStop</a></div><div class="ttdeci">void onStop() override</div><div class="ttdoc">Override called when the stop notification is issued.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00242">InboundTransactions.cpp:242</a></div></div>
<div class="ttc" id="aclassripple_1_1Stoppable_html"><div class="ttname"><a href="classripple_1_1Stoppable.html">ripple::Stoppable</a></div><div class="ttdoc">Provides an interface for starting and stopping.</div><div class="ttdef"><b>Definition:</b> <a href="Stoppable_8h_source.html#l00201">Stoppable.h:201</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionSet_html_affbed21ad5556f668549946ee3050f78"><div class="ttname"><a href="classripple_1_1InboundTransactionSet.html#affbed21ad5556f668549946ee3050f78">ripple::InboundTransactionSet::mSet</a></div><div class="ttdeci">std::shared_ptr&lt; SHAMap &gt; mSet</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00048">InboundTransactions.cpp:48</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a242ff146b3a9775d0807adf7e50d4b9a"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a">ripple::InboundTransactionsImp::m_zeroSet</a></div><div class="ttdeci">InboundTransactionSet &amp; m_zeroSet</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00254">InboundTransactions.cpp:254</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a242ff146b3a9775d0807adf7e50d4b9a"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a242ff146b3a9775d0807adf7e50d4b9a">ripple::InboundTransactionsImp::m_zeroSet</a></div><div class="ttdeci">InboundTransactionSet &amp; m_zeroSet</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00260">InboundTransactions.cpp:260</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionSet_html"><div class="ttname"><a href="classripple_1_1InboundTransactionSet.html">ripple::InboundTransactionSet</a></div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00042">InboundTransactions.cpp:42</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_ac334935f1f58bf4df2970b51bbbc54c1"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1">ripple::InboundTransactionsImp::m_gotSet</a></div><div class="ttdeci">std::function&lt; void(std::shared_ptr&lt; SHAMap &gt; const &amp;, bool)&gt; m_gotSet</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00256">InboundTransactions.cpp:256</a></div></div>
<div class="ttc" id="anamespaceripple_1_1Resource_html_a0051d327f5a6419ffb9b4a2dac7a81ed"><div class="ttname"><a href="namespaceripple_1_1Resource.html#a0051d327f5a6419ffb9b4a2dac7a81ed">ripple::Resource::feeBadData</a></div><div class="ttdeci">const Charge feeBadData</div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_ac334935f1f58bf4df2970b51bbbc54c1"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#ac334935f1f58bf4df2970b51bbbc54c1">ripple::InboundTransactionsImp::m_gotSet</a></div><div class="ttdeci">std::function&lt; void(std::shared_ptr&lt; SHAMap &gt; const &amp;, bool)&gt; m_gotSet</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00262">InboundTransactions.cpp:262</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a3048f0186426292c7297d95cdedb55b1"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a3048f0186426292c7297d95cdedb55b1">ripple::InboundTransactionsImp::getAcquire</a></div><div class="ttdeci">TransactionAcquire::pointer getAcquire(uint256 const &amp;hash)</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00083">InboundTransactions.cpp:83</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a97e2cbf991bf5c11c4d262d63e99b60a"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">ripple::InboundTransactionsImp::m_map</a></div><div class="ttdeci">MapType m_map</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00250">InboundTransactions.cpp:250</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a97e2cbf991bf5c11c4d262d63e99b60a"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a97e2cbf991bf5c11c4d262d63e99b60a">ripple::InboundTransactionsImp::m_map</a></div><div class="ttdeci">MapType m_map</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00256">InboundTransactions.cpp:256</a></div></div>
<div class="ttc" id="anamespaceripple_html_a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f"><div class="ttname"><a href="namespaceripple.html#a6fb8bd4df2c5490143227e364868e46aa866cad0b09656c8a4c38c59f8b089d3f">ripple::setKeepRounds</a></div><div class="ttdeci">@ setKeepRounds</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00039">InboundTransactions.cpp:39</a></div></div>
<div class="ttc" id="anamespaceripple_1_1Resource_html_ae7e4c5bca8d571cc88e6e63636d9559d"><div class="ttname"><a href="namespaceripple_1_1Resource.html#ae7e4c5bca8d571cc88e6e63636d9559d">ripple::Resource::feeUnwantedData</a></div><div class="ttdeci">const Charge feeUnwantedData</div></div>
<div class="ttc" id="anamespaceripple_html_a53f80df10254751781250aa20704e98f"><div class="ttname"><a href="namespaceripple.html#a53f80df10254751781250aa20704e98f">ripple::set</a></div><div class="ttdeci">bool set(T &amp;target, std::string const &amp;name, Section const &amp;section)</div><div class="ttdoc">Set a value from a configuration Section If the named value is not found or doesn't parse as a T,...</div><div class="ttdef"><b>Definition:</b> <a href="BasicConfig_8h_source.html#l00276">BasicConfig.h:276</a></div></div>
@@ -380,7 +388,7 @@ $(function() {
<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_1InboundTransactionSet_html_ad2dd6f27e412bc672104b66fd80ca7de"><div class="ttname"><a href="classripple_1_1InboundTransactionSet.html#ad2dd6f27e412bc672104b66fd80ca7de">ripple::InboundTransactionSet::InboundTransactionSet</a></div><div class="ttdeci">InboundTransactionSet()</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00055">InboundTransactions.cpp:55</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a82da6fdf916e83b496b8d15914ead1a4"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a82da6fdf916e83b496b8d15914ead1a4">ripple::InboundTransactionsImp::getSet</a></div><div class="ttdeci">std::shared_ptr&lt; SHAMap &gt; getSet(uint256 const &amp;hash, bool acquire) override</div><div class="ttdoc">Find and return a transaction set, or nullptr if it is missing.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00097">InboundTransactions.cpp:97</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_ab479e4d83429c23c8bf0e03cd3235c20"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">ripple::InboundTransactionsImp::m_seq</a></div><div class="ttdeci">std::uint32_t m_seq</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00251">InboundTransactions.cpp:251</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_ab479e4d83429c23c8bf0e03cd3235c20"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#ab479e4d83429c23c8bf0e03cd3235c20">ripple::InboundTransactionsImp::m_seq</a></div><div class="ttdeci">std::uint32_t m_seq</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00257">InboundTransactions.cpp:257</a></div></div>
<div class="ttc" id="aemplace_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list/emplace_back.html">std::list::emplace_back</a></div><div class="ttdeci">T emplace_back(T... args)</div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
<div class="ttc" id="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>
@@ -388,12 +396,12 @@ $(function() {
<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="aclassripple_1_1InboundTransactionsImp_html_ac3cf03fa813190019d8ef47edd49a568"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#ac3cf03fa813190019d8ef47edd49a568">ripple::InboundTransactionsImp::gotData</a></div><div class="ttdeci">void gotData(LedgerHash const &amp;hash, std::shared_ptr&lt; Peer &gt; peer, std::shared_ptr&lt; protocol::TMLedgerData &gt; packet_ptr) override</div><div class="ttdoc">We received a TMLedgerData from a peer.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00137">InboundTransactions.cpp:137</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactions_html_ad6c5e57253b9a0bd5e6a2b933f57752f"><div class="ttname"><a href="classripple_1_1InboundTransactions.html#ad6c5e57253b9a0bd5e6a2b933f57752f">ripple::InboundTransactions::~InboundTransactions</a></div><div class="ttdeci">virtual ~InboundTransactions()=0</div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a1707fff4d233251ab6ce2b8747b7e3ad"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a1707fff4d233251ab6ce2b8747b7e3ad">ripple::InboundTransactionsImp::newRound</a></div><div class="ttdeci">void newRound(std::uint32_t seq) override</div><div class="ttdoc">Informs the container if a new consensus round.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00208">InboundTransactions.cpp:208</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_a1707fff4d233251ab6ce2b8747b7e3ad"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#a1707fff4d233251ab6ce2b8747b7e3ad">ripple::InboundTransactionsImp::newRound</a></div><div class="ttdeci">void newRound(std::uint32_t seq) override</div><div class="ttdoc">Informs the container if a new consensus round.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00214">InboundTransactions.cpp:214</a></div></div>
<div class="ttc" id="amutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/mutex.html">mutex</a></div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map/end.html">std::unordered_map::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionSet_html_ad34e13ec0e71bbc19d19466d76826418"><div class="ttname"><a href="classripple_1_1InboundTransactionSet.html#ad34e13ec0e71bbc19d19466d76826418">ripple::InboundTransactionSet::mAcquire</a></div><div class="ttdeci">TransactionAcquire::pointer mAcquire</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00047">InboundTransactions.cpp:47</a></div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactionsImp_html_ad20d88106a19e42f8f5df70adf2ebaea"><div class="ttname"><a href="classripple_1_1InboundTransactionsImp.html#ad20d88106a19e42f8f5df70adf2ebaea">ripple::InboundTransactionsImp::InboundTransactionsImp</a></div><div class="ttdeci">InboundTransactionsImp(Application &amp;app, Stoppable &amp;parent, beast::insight::Collector::ptr const &amp;collector, std::function&lt; void(std::shared_ptr&lt; SHAMap &gt; const &amp;, bool)&gt; gotSet)</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00066">InboundTransactions.cpp:66</a></div></div>
<div class="ttc" id="anamespaceripple_html_a290d712d85ae7ad9fe05a68c81faaf9a"><div class="ttname"><a href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a">ripple::make_InboundTransactions</a></div><div class="ttdeci">std::unique_ptr&lt; InboundTransactions &gt; make_InboundTransactions(Application &amp;app, Stoppable &amp;parent, beast::insight::Collector::ptr const &amp;collector, std::function&lt; void(std::shared_ptr&lt; SHAMap &gt; const &amp;, bool)&gt; gotSet)</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00264">InboundTransactions.cpp:264</a></div></div>
<div class="ttc" id="anamespaceripple_html_a290d712d85ae7ad9fe05a68c81faaf9a"><div class="ttname"><a href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a">ripple::make_InboundTransactions</a></div><div class="ttdeci">std::unique_ptr&lt; InboundTransactions &gt; make_InboundTransactions(Application &amp;app, Stoppable &amp;parent, beast::insight::Collector::ptr const &amp;collector, std::function&lt; void(std::shared_ptr&lt; SHAMap &gt; const &amp;, bool)&gt; gotSet)</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00270">InboundTransactions.cpp:270</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="aunordered_map_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_map.html">std::unordered_map</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1InboundTransactions_html"><div class="ttname"><a href="classripple_1_1InboundTransactions.html">ripple::InboundTransactions</a></div><div class="ttdoc">Manages the acquisition and lifetime of transaction sets.</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8h_source.html#l00036">InboundTransactions.h:36</a></div></div>