This commit is contained in:
bthomee
2025-03-18 12:25:45 +00:00
parent 61468040d9
commit 88bba18a1f

View File

@@ -248,40 +248,47 @@ $(function() {
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div> <div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div> <div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">auto</span> e = ledger-&gt;sles.end();</div> <div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">auto</span> e = ledger-&gt;sles.end();</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> key = <a class="code hl_function" href="classripple_1_1base__uint.html#a4276e5c625a8033b0050251cddba741e">uint256::fromVoidChecked</a>(request.end_marker()))</div> <div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">if</span> (request.end_marker().size() != 0)</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> {</div> <div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> {</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> e = ledger-&gt;sles.upper_bound(*key);</div> <div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">auto</span> <span class="keyword">const</span> key = <a class="code hl_function" href="classripple_1_1base__uint.html#a4276e5c625a8033b0050251cddba741e">uint256::fromVoidChecked</a>(request.end_marker());</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> }</div> <div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> </div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (request.end_marker().size() != 0)</div> <div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordflow">if</span> (!key)</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> {</div> <div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> {</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> grpc::Status errorStatus{</div> <div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> response,</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> grpc::StatusCode::INVALID_ARGUMENT, <span class="stringliteral">&quot;end marker malformed&quot;</span>};</div> <div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> {grpc::StatusCode::INVALID_ARGUMENT, <span class="stringliteral">&quot;end marker malformed&quot;</span>}};</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordflow">return</span> {response, errorStatus};</div> <div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> }</div> <div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">if</span> (*key &lt; startKey)</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div> <div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordflow">return</span> {</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">int</span> maxLimit = <a class="code hl_function" href="namespaceripple_1_1RPC_1_1Tuning.html#aaec5ebc57256d9dded235e0e6a7394b9">RPC::Tuning::pageLength</a>(<span class="keyword">true</span>);</div> <div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> response,</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> </div> <div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> {grpc::StatusCode::INVALID_ARGUMENT,</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = ledger-&gt;sles.upper_bound(startKey); i != e; ++i)</div> <div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="stringliteral">&quot;end marker out of range&quot;</span>}};</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> {</div> <div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> </div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">auto</span> sle = ledger-&gt;read(<a class="code hl_function" href="namespaceripple_1_1keylet.html#aaaeecce79e0ef09bd851bce0c0f2dfde">keylet::unchecked</a>((*i)-&gt;key()));</div> <div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> e = ledger-&gt;sles.upper_bound(*key);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">if</span> (maxLimit-- &lt;= 0)</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> {</div> <div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="comment">// Stop processing before the current key.</span></div> <div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">int</span> maxLimit = <a class="code hl_function" href="namespaceripple_1_1RPC_1_1Tuning.html#aaec5ebc57256d9dded235e0e6a7394b9">RPC::Tuning::pageLength</a>(<span class="keyword">true</span>);</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">auto</span> k = sle-&gt;key();</div> <div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> --k;</div> <div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = ledger-&gt;sles.upper_bound(startKey); i != e; ++i)</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> response.set_marker(k.data(), k.size());</div> <div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> {</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keywordflow">break</span>;</div> <div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">auto</span> sle = ledger-&gt;read(<a class="code hl_function" href="namespaceripple_1_1keylet.html#aaaeecce79e0ef09bd851bce0c0f2dfde">keylet::unchecked</a>((*i)-&gt;key()));</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> }</div> <div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (maxLimit-- &lt;= 0)</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">auto</span> stateObject = response.mutable_ledger_objects()-&gt;add_objects();</div> <div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> {</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <a class="code hl_class" href="classripple_1_1Serializer.html">Serializer</a> s;</div> <div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="comment">// Stop processing before the current key.</span></div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> sle-&gt;add(s);</div> <div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">auto</span> k = sle-&gt;key();</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> stateObject-&gt;set_data(s.<a class="code hl_function" href="classripple_1_1Serializer.html#a4be06995bf7f2abee9df8a411303ca99">peekData</a>().<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/data.html">data</a>(), s.<a class="code hl_function" href="classripple_1_1Serializer.html#aa5c7aa53db0c7c90c6a86dd5144e9255">getLength</a>());</div> <div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> --k;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> stateObject-&gt;set_key(sle-&gt;key().data(), sle-&gt;key().size());</div> <div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> response.set_marker(k.data(), k.size());</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> }</div> <div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">return</span> {response, status};</div> <div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> }</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span>}</div> <div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">auto</span> stateObject = response.mutable_ledger_objects()-&gt;add_objects();</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div> <div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <a class="code hl_class" href="classripple_1_1Serializer.html">Serializer</a> s;</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span>} <span class="comment">// namespace ripple</span></div> <div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> sle-&gt;add(s);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> stateObject-&gt;set_data(s.<a class="code hl_function" href="classripple_1_1Serializer.html#a4be06995bf7f2abee9df8a411303ca99">peekData</a>().<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/data.html">data</a>(), s.<a class="code hl_function" href="classripple_1_1Serializer.html#aa5c7aa53db0c7c90c6a86dd5144e9255">getLength</a>());</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> stateObject-&gt;set_key(sle-&gt;key().data(), sle-&gt;key().size());</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> }</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> {response, status};</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span>}</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span>} <span class="comment">// namespace ripple</span></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00147">json_value.h:148</a></div></div> <div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00147">json_value.h:148</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a614d635bc248a592593feb322cd15ab8"><div class="ttname"><a href="classJson_1_1Value.html#a614d635bc248a592593feb322cd15ab8">Json::Value::asInt</a></div><div class="ttdeci">Int asInt() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00509">json_value.cpp:509</a></div></div> <div class="ttc" id="aclassJson_1_1Value_html_a614d635bc248a592593feb322cd15ab8"><div class="ttname"><a href="classJson_1_1Value.html#a614d635bc248a592593feb322cd15ab8">Json::Value::asInt</a></div><div class="ttdeci">Int asInt() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00509">json_value.cpp:509</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a71e1f82cf1c3eaf969d400dcffb163a6"><div class="ttname"><a href="classJson_1_1Value.html#a71e1f82cf1c3eaf969d400dcffb163a6">Json::Value::isString</a></div><div class="ttdeci">bool isString() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01028">json_value.cpp:1028</a></div></div> <div class="ttc" id="aclassJson_1_1Value_html_a71e1f82cf1c3eaf969d400dcffb163a6"><div class="ttname"><a href="classJson_1_1Value.html#a71e1f82cf1c3eaf969d400dcffb163a6">Json::Value::isString</a></div><div class="ttdeci">bool isString() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01028">json_value.cpp:1028</a></div></div>