This commit is contained in:
bthomee
2025-05-20 18:10:54 +00:00
parent 39d241def5
commit 90cc35d381
3215 changed files with 96027 additions and 70734 deletions

View File

@@ -145,43 +145,43 @@ $(function() {
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>}</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classripple_1_1NodeFamily.html#adb2b0b53e7139b05b5be6e49ec5adbdb"> 70</a></span><a class="code hl_function" href="classripple_1_1NodeFamily.html#adb2b0b53e7139b05b5be6e49ec5adbdb">NodeFamily::missingNodeAcquireBySeq</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> seq, <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; nodeHash)</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classripple_1_1NodeFamily.html#adb2b0b53e7139b05b5be6e49ec5adbdb"> 70</a></span><a class="code hl_function" href="classripple_1_1NodeFamily.html#adb2b0b53e7139b05b5be6e49ec5adbdb">NodeFamily::missingNodeAcquireBySeq</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>, <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; nodeHash)</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>{</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> JLOG(<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a97fbb46ac5594789be3a0eb5f06c868e">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) &lt;&lt; <span class="stringliteral">&quot;Missing node in &quot;</span> &lt;&lt; seq;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> JLOG(<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a97fbb46ac5594789be3a0eb5f06c868e">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) &lt;&lt; <span class="stringliteral">&quot;Missing node in &quot;</span> &lt;&lt; <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock&lt;std::mutex&gt;</a> lock(<a class="code hl_variable" href="classripple_1_1NodeFamily.html#acc158cf12dc02f60d4207fba066152e9">maxSeqMutex_</a>);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> == 0)</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> = seq;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> = <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">do</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="comment">// Try to acquire the most recent missing ledger</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> seq = <a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a>;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a> = <a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> lock.unlock();</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="comment">// This can invoke the missing node handler</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_function" href="classripple_1_1NodeFamily.html#a7599daa25d6d2fd8ee537e8396f381c4">acquire</a>(<a class="code hl_variable" href="classripple_1_1NodeFamily.html#ab62b56575e85ed3f0fb7dc81f779a1f0">app_</a>.<a class="code hl_function" href="classripple_1_1Application.html#aa303fb1c72786fc008ef52079dee4fe3">getLedgerMaster</a>().<a class="code hl_function" href="classripple_1_1LedgerMaster.html#a4f59228c74d5491f68333ef250431cdb">getHashBySeq</a>(seq), seq);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_function" href="classripple_1_1NodeFamily.html#a7599daa25d6d2fd8ee537e8396f381c4">acquire</a>(<a class="code hl_variable" href="classripple_1_1NodeFamily.html#ab62b56575e85ed3f0fb7dc81f779a1f0">app_</a>.<a class="code hl_function" href="classripple_1_1Application.html#aa303fb1c72786fc008ef52079dee4fe3">getLedgerMaster</a>().<a class="code hl_function" href="classripple_1_1LedgerMaster.html#a4f59228c74d5491f68333ef250431cdb">getHashBySeq</a>(<a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>), <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> lock.lock();</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> } <span class="keywordflow">while</span> (<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> != seq);</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> } <span class="keywordflow">while</span> (<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> != <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> }</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> &lt; seq)</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> &lt; <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>)</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// We found a more recent ledger with a missing node</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> = seq;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_variable" href="classripple_1_1NodeFamily.html#a0b893d398048e7ae9ff41d9887b9894b">maxSeq_</a> = <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> }</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span>}</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classripple_1_1NodeFamily.html#a7599daa25d6d2fd8ee537e8396f381c4"> 99</a></span><a class="code hl_function" href="classripple_1_1NodeFamily.html#a7599daa25d6d2fd8ee537e8396f381c4">NodeFamily::acquire</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; hash, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> seq)</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classripple_1_1NodeFamily.html#a7599daa25d6d2fd8ee537e8396f381c4"> 99</a></span><a class="code hl_function" href="classripple_1_1NodeFamily.html#a7599daa25d6d2fd8ee537e8396f381c4">NodeFamily::acquire</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; hash, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>)</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span>{</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">if</span> (hash.<a class="code hl_function" href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">isNonZero</a>())</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> {</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> JLOG(<a class="code hl_variable" href="classripple_1_1NodeFamily.html#a97fbb46ac5594789be3a0eb5f06c868e">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) &lt;&lt; <span class="stringliteral">&quot;Missing node in &quot;</span> &lt;&lt; <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(hash);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_variable" href="classripple_1_1NodeFamily.html#ab62b56575e85ed3f0fb7dc81f779a1f0">app_</a>.<a class="code hl_function" href="classripple_1_1Application.html#a915619bcedd33aaed53cf784a5863dab">getInboundLedgers</a>().<a class="code hl_function" href="classripple_1_1InboundLedgers.html#a504951d354fa8cbd7c0d41f90f776a4f">acquire</a>(</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> hash, seq, <a class="code hl_enumvalue" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b">InboundLedger::Reason::GENERIC</a>);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> hash, <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>, <a class="code hl_enumvalue" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b">InboundLedger::Reason::GENERIC</a>);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> }</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span>}</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
@@ -220,6 +220,7 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_ac124fe6744b7fe887dec949b56b16d50"><div class="ttname"><a href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">ripple::to_string</a></div><div class="ttdeci">std::string to_string(base_uint&lt; Bits, Tag &gt; const &amp;a)</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00630">base_uint.h:630</a></div></div>
<div class="ttc" id="anamespaceripple_html_aef07fa1142a7973847f45894ad5f9ebf"><div class="ttname"><a href="namespaceripple.html#aef07fa1142a7973847f45894ad5f9ebf">ripple::fullBelowTargetSize</a></div><div class="ttdeci">constexpr std::size_t fullBelowTargetSize</div><div class="ttdef"><b>Definition:</b> <a href="src_2xrpld_2app_2main_2Tuning_8h_source.html#l00027">src/xrpld/app/main/Tuning.h:27</a></div></div>
<div class="ttc" id="anamespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace.</div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1seq_html"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1seq.html">ripple::test::jtx::seq</a></div><div class="ttdoc">Set the sequence number on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="seq_8h_source.html#l00033">seq.h:34</a></div></div>
<div class="ttc" id="aunique_lock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->