mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-21 19:45:53 +00:00
deploy: 1a8eb5e6e3
This commit is contained in:
@@ -443,7 +443,7 @@ $(function() {
|
||||
<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classripple_1_1Ledger.html#aef7b9a3e3b4fd553e0a9db4ff1e7a8a7"> 372</a></span> <a class="code" href="classripple_1_1Ledger.html#aef7b9a3e3b4fd553e0a9db4ff1e7a8a7">Ledger::addSLE</a>(<a class="code" href="classripple_1_1STLedgerEntry.html">SLE</a> <span class="keyword">const</span>& sle)</div>
|
||||
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> {</div>
|
||||
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keyword">auto</span> <span class="keyword">const</span> s = sle.<a class="code" href="classripple_1_1STObject.html#a6ae7e459a83bc46c3cfd9025753af1cb">getSerializer</a>();</div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="classripple_1_1SHAMapItem.html">SHAMapItem</a> item(sle.<a class="code" href="classripple_1_1STLedgerEntry.html#a6387602187c2ca4e22297d5c908cbad6">key</a>(), s.slice());</div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="classripple_1_1SHAMapItem.html">SHAMapItem</a> item(sle.<a class="code" href="classripple_1_1STLedgerEntry.html#adef03efcc12360ee4a7e17bd2434f312">key</a>(), s.slice());</div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->addItem(<a class="code" href="namespaceripple.html#ae0356b1de00f841c554c830be509dd58ab2364e40a67b08ba6170314afc07d07b">SHAMapNodeType::tnACCOUNT_STATE</a>, std::move(item));</div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> }</div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  </div>
|
||||
@@ -809,9 +809,9 @@ $(function() {
|
||||
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">if</span> (hasToDisable)</div>
|
||||
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  {</div>
|
||||
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  newNUnl.<a class="code" href="classripple_1_1STArray.html#a12601f465a34c4aba5b9212e747d738d">emplace_back</a>(<a class="code" href="namespaceripple.html#a25781d261e5e805fdf2834ab4af7be30">sfDisabledValidator</a>);</div>
|
||||
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  newNUnl.<a class="code" href="classripple_1_1STArray.html#a9a8e8e818ee5ba2536921d3e63cda98e">back</a>().<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(</div>
|
||||
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  newNUnl.<a class="code" href="classripple_1_1STArray.html#a75f0aea39c00662bf3a18b263364e422">back</a>().<a class="code" href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">setFieldVL</a>(</div>
|
||||
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="code" href="namespaceripple.html#a16991de33a4e83d355de9c387c712a4e">sfPublicKey</a>, sle->getFieldVL(<a class="code" href="namespaceripple.html#adb137283775a3eb39772d1decf5c5894">sfValidatorToDisable</a>));</div>
|
||||
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  newNUnl.<a class="code" href="classripple_1_1STArray.html#a9a8e8e818ee5ba2536921d3e63cda98e">back</a>().<a class="code" href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">setFieldU32</a>(<a class="code" href="namespaceripple.html#af96d1bdc5286a37ae6e34b3f05d7a1bd">sfFirstLedgerSequence</a>, <a class="code" href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">seq</a>());</div>
|
||||
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  newNUnl.<a class="code" href="classripple_1_1STArray.html#a75f0aea39c00662bf3a18b263364e422">back</a>().<a class="code" href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">setFieldU32</a>(<a class="code" href="namespaceripple.html#af96d1bdc5286a37ae6e34b3f05d7a1bd">sfFirstLedgerSequence</a>, <a class="code" href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">seq</a>());</div>
|
||||
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  }</div>
|
||||
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  </div>
|
||||
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keywordflow">if</span> (!newNUnl.<a class="code" href="classripple_1_1STArray.html#a158ccc470b30b011cd462eadcf6f249c">empty</a>())</div>
|
||||
@@ -845,7 +845,7 @@ $(function() {
|
||||
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  {</div>
|
||||
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">if</span> (parallel)</div>
|
||||
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->walkMapParallel(missingNodes1, 32);</div>
|
||||
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->walkMapParallel(missingNodes1, 32);</div>
|
||||
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->walkMap(missingNodes1, 32);</div>
|
||||
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  }</div>
|
||||
@@ -1049,200 +1049,199 @@ $(function() {
|
||||
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  </div>
|
||||
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="comment">// See if we can use the JobQueue.</span></div>
|
||||
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="keywordflow">if</span> (!isSynchronous &&</div>
|
||||
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  app.<a class="code" href="classripple_1_1Application.html#a860be08979e27d8c6f37f722f996ba6c">getJobQueue</a>().<a class="code" href="classripple_1_1JobQueue.html#af5e34187d55aa58e551dc196aaf1ec25">addJob</a>(</div>
|
||||
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  jobType, jobName, [&app, ledger, <a class="code" href="namespaceripple.html#a38d1749cd010f88da471b4183b2dfe52">isCurrent</a>](<a class="code" href="classripple_1_1Job.html">Job</a>&) {</div>
|
||||
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  saveValidatedLedger(app, ledger, isCurrent);</div>
|
||||
<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  }))</div>
|
||||
<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  {</div>
|
||||
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  }</div>
|
||||
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  </div>
|
||||
<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="comment">// The JobQueue won't do the Job. Do the save synchronously.</span></div>
|
||||
<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#a4574aa8b71b4bb8afc56cf6daff9ca86">saveValidatedLedger</a>(app, ledger, <a class="code" href="namespaceripple.html#a38d1749cd010f88da471b4183b2dfe52">isCurrent</a>);</div>
|
||||
<div class="line"><a name="l00994"></a><span class="lineno"> 994</span> }</div>
|
||||
<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  </div>
|
||||
<div class="line"><a name="l00996"></a><span class="lineno"> 996</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l00997"></a><span class="lineno"><a class="line" href="classripple_1_1Ledger.html#a0e6f8ad49de88ce1eb3ffa77ca346c21"> 997</a></span> <a class="code" href="classripple_1_1Ledger.html#a0e6f8ad49de88ce1eb3ffa77ca346c21">Ledger::unshare</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keyword"></span>{</div>
|
||||
<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->unshare();</div>
|
||||
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <a class="code" href="classripple_1_1Ledger.html#a6bb1b6a13fe4c60edbfd502c39fa687c">txMap_</a>->unshare();</div>
|
||||
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> }</div>
|
||||
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  </div>
|
||||
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l01004"></a><span class="lineno"><a class="line" href="classripple_1_1Ledger.html#a156082bb161144196934ce455ee404b2"> 1004</a></span> <a class="code" href="classripple_1_1Ledger.html#a156082bb161144196934ce455ee404b2">Ledger::invariants</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> <span class="keyword"></span>{</div>
|
||||
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->invariants();</div>
|
||||
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <a class="code" href="classripple_1_1Ledger.html#a6bb1b6a13fe4c60edbfd502c39fa687c">txMap_</a>->invariants();</div>
|
||||
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> }</div>
|
||||
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  </div>
|
||||
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment">/*</span></div>
|
||||
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="comment"> * Make ledger using info loaded from database.</span></div>
|
||||
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="comment"> *</span></div>
|
||||
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="comment"> * @param LedgerInfo: Ledger information.</span></div>
|
||||
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="comment"> * @param app: Link to the Application.</span></div>
|
||||
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="comment"> * @param acquire: Acquire the ledger if not found locally.</span></div>
|
||||
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="comment"> * @return Shared pointer to the ledger.</span></div>
|
||||
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="comment"> */</span></div>
|
||||
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a></div>
|
||||
<div class="line"><a name="l01020"></a><span class="lineno"><a class="line" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061"> 1020</a></span> <a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(<a class="code" href="structripple_1_1LedgerInfo.html">LedgerInfo</a> <span class="keyword">const</span>& info, <a class="code" href="classripple_1_1Application.html">Application</a>& app, <span class="keywordtype">bool</span> acquire)</div>
|
||||
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span> {</div>
|
||||
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keywordtype">bool</span> loaded;</div>
|
||||
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <span class="keyword">auto</span> ledger = std::make_shared<Ledger>(</div>
|
||||
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  info,</div>
|
||||
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  loaded,</div>
|
||||
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <a class="code" href="namespaceripple.html#a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144">acquire</a>,</div>
|
||||
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>(),</div>
|
||||
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  app.<a class="code" href="classripple_1_1Application.html#a26ccdf06f25ceadec7894dd5f8da7eab">getNodeFamily</a>(),</div>
|
||||
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>));</div>
|
||||
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  </div>
|
||||
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="keywordflow">if</span> (!loaded)</div>
|
||||
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  ledger.reset();</div>
|
||||
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  </div>
|
||||
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keywordflow">return</span> ledger;</div>
|
||||
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span> }</div>
|
||||
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  </div>
|
||||
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l01038"></a><span class="lineno"><a class="line" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d"> 1038</a></span> <a class="code" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">finishLoadByIndexOrHash</a>(</div>
|
||||
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a> <span class="keyword">const</span>& ledger,</div>
|
||||
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <a class="code" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config,</div>
|
||||
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
|
||||
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span> {</div>
|
||||
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="keywordflow">if</span> (!ledger)</div>
|
||||
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  </div>
|
||||
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  ledger-><a class="code" href="classripple_1_1Ledger.html#a87ea8cee44207987a9d9ac826aacc831">setImmutable</a>(config);</div>
|
||||
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  </div>
|
||||
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  JLOG(j.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"Loaded ledger: "</span> << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(ledger-><a class="code" href="classripple_1_1Ledger.html#a31a21cc451eaa0a5af304e2625dc75f5">info</a>().<a class="code" href="structripple_1_1LedgerInfo.html#aab2ff724e7c4b0ccdea55d62cdab8bbc">hash</a>);</div>
|
||||
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  </div>
|
||||
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  ledger-><a class="code" href="classripple_1_1Ledger.html#a8a75fcab11d8fe2e7bd5cd6643a052e1">setFull</a>();</div>
|
||||
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> }</div>
|
||||
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  </div>
|
||||
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple<std::shared_ptr<Ledger></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>, <a class="code" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a>></div>
|
||||
<div class="line"><a name="l01054"></a><span class="lineno"><a class="line" href="namespaceripple.html#a04cf5c0dd5329bc0e0203fb86cf91ed3"> 1054</a></span> <a class="code" href="namespaceripple.html#a04cf5c0dd5329bc0e0203fb86cf91ed3">getLatestLedger</a>(<a class="code" href="classripple_1_1Application.html">Application</a>& app)</div>
|
||||
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span> {</div>
|
||||
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<LedgerInfo></a> info =</div>
|
||||
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>().<a class="code" href="classripple_1_1RelationalDBInterface.html#a1cf137dce25e130bffe96e816ab67408">getNewestLedgerInfo</a>();</div>
|
||||
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  <span class="keywordflow">if</span> (!info)</div>
|
||||
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  <span class="keywordflow">return</span> {<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a>(), {}, {}};</div>
|
||||
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <span class="keywordflow">return</span> {<a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(*info, app, <span class="keyword">true</span>), info->seq, info->hash};</div>
|
||||
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span> }</div>
|
||||
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>  </div>
|
||||
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a></div>
|
||||
<div class="line"><a name="l01064"></a><span class="lineno"><a class="line" href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d"> 1064</a></span> <a class="code" href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d">loadByIndex</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> ledgerIndex, <a class="code" href="classripple_1_1Application.html">Application</a>& app, <span class="keywordtype">bool</span> acquire)</div>
|
||||
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span> {</div>
|
||||
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  <span class="keywordflow">if</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<LedgerInfo></a> info =</div>
|
||||
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>().<a class="code" href="classripple_1_1RelationalDBInterface.html#a1704b3edfa1eebb97e2772a1362ef781">getLedgerInfoByIndex</a>(ledgerIndex))</div>
|
||||
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  {</div>
|
||||
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a> ledger = <a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(*info, app, <a class="code" href="namespaceripple.html#a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144">acquire</a>);</div>
|
||||
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <a class="code" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">finishLoadByIndexOrHash</a>(ledger, app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>(), app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>));</div>
|
||||
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="keywordflow">return</span> ledger;</div>
|
||||
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  }</div>
|
||||
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> }</div>
|
||||
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  </div>
|
||||
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a></div>
|
||||
<div class="line"><a name="l01077"></a><span class="lineno"><a class="line" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e"> 1077</a></span> <a class="code" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">loadByHash</a>(<a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& ledgerHash, <a class="code" href="classripple_1_1Application.html">Application</a>& app, <span class="keywordtype">bool</span> acquire)</div>
|
||||
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> {</div>
|
||||
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="keywordflow">if</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<LedgerInfo></a> info =</div>
|
||||
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>().<a class="code" href="classripple_1_1RelationalDBInterface.html#aa2591b2d99a0dcce5e980eb99b1de2a7">getLedgerInfoByHash</a>(ledgerHash))</div>
|
||||
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  {</div>
|
||||
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a> ledger = <a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(*info, app, <a class="code" href="namespaceripple.html#a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144">acquire</a>);</div>
|
||||
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <a class="code" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">finishLoadByIndexOrHash</a>(ledger, app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>(), app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>));</div>
|
||||
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  assert(!ledger || ledger-><a class="code" href="classripple_1_1Ledger.html#a31a21cc451eaa0a5af304e2625dc75f5">info</a>().<a class="code" href="structripple_1_1LedgerInfo.html#aab2ff724e7c4b0ccdea55d62cdab8bbc">hash</a> == ledgerHash);</div>
|
||||
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="keywordflow">return</span> ledger;</div>
|
||||
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  }</div>
|
||||
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> }</div>
|
||||
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  </div>
|
||||
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><</div>
|
||||
<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::shared_ptr<STTx const></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<STObject const></a>>></div>
|
||||
<div class="line"><a name="l01092"></a><span class="lineno"><a class="line" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5"> 1092</a></span> <a class="code" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">flatFetchTransactions</a>(<a class="code" href="classripple_1_1Application.html">Application</a>& app, <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a>& nodestoreHashes)</div>
|
||||
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> {</div>
|
||||
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  <span class="keywordflow">if</span> (!app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">reporting</a>())</div>
|
||||
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  {</div>
|
||||
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  <span class="stringliteral">"flatFetchTransactions: not running in reporting mode"</span>);</div>
|
||||
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>  }</div>
|
||||
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  </div>
|
||||
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><</div>
|
||||
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::shared_ptr<STTx const></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<STObject const></a>>></div>
|
||||
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  txns;</div>
|
||||
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  <span class="keyword">auto</span> start = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock/now.html">std::chrono::system_clock::now</a>();</div>
|
||||
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  <span class="keyword">auto</span> nodeDb =</div>
|
||||
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  <span class="keyword">dynamic_cast<</span><a class="code" href="classripple_1_1NodeStore_1_1DatabaseNodeImp.html">NodeStore::DatabaseNodeImp</a>*<span class="keyword">></span>(&(app.<a class="code" href="classripple_1_1Application.html#a25c5851322f6cb3762563fd1278c6143">getNodeStore</a>()));</div>
|
||||
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  <span class="keywordflow">if</span> (!nodeDb)</div>
|
||||
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  {</div>
|
||||
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  <span class="stringliteral">"Called flatFetchTransactions but database is not DatabaseNodeImp"</span>);</div>
|
||||
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  }</div>
|
||||
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  <span class="keyword">auto</span> objs = nodeDb->fetchBatch(nodestoreHashes);</div>
|
||||
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  </div>
|
||||
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  <span class="keyword">auto</span> end = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock/now.html">std::chrono::system_clock::now</a>();</div>
|
||||
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  JLOG(app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>).<a class="code" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>())</div>
|
||||
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>  << <span class="stringliteral">" Flat fetch time : "</span> << ((end - start).count() / 1000000000.0)</div>
|
||||
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  << <span class="stringliteral">" number of transactions "</span> << nodestoreHashes.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  assert(objs.size() == nodestoreHashes.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < objs.size(); ++i)</div>
|
||||
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>  {</div>
|
||||
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a>& nodestoreHash = nodestoreHashes[i];</div>
|
||||
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  <span class="keyword">auto</span>& obj = objs[i];</div>
|
||||
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  <span class="keywordflow">if</span> (obj)</div>
|
||||
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  {</div>
|
||||
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>  <span class="keyword">auto</span> node = <a class="code" href="classripple_1_1SHAMapTreeNode.html#a5631e2f77123e3b73229ef4c890ad60f">SHAMapTreeNode::makeFromPrefix</a>(</div>
|
||||
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  <a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(obj->getData()), <a class="code" href="classripple_1_1SHAMapHash.html">SHAMapHash</a>{nodestoreHash});</div>
|
||||
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  <span class="keywordflow">if</span> (!node)</div>
|
||||
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  {</div>
|
||||
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  <span class="stringliteral">"flatFetchTransactions : Error making SHAMap node"</span>);</div>
|
||||
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  }</div>
|
||||
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  <span class="keyword">auto</span> item = (<span class="keyword">static_cast<</span><a class="code" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a>*<span class="keyword">></span>(node.get()))->peekItem();</div>
|
||||
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  <span class="keywordflow">if</span> (!item)</div>
|
||||
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  {</div>
|
||||
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  <span class="stringliteral">"flatFetchTransactions : Error reading SHAMap node"</span>);</div>
|
||||
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  }</div>
|
||||
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  <span class="keyword">auto</span> txnPlusMeta = <a class="code" href="namespaceripple.html#aa1353a397900c2af70f9acba924b33cb">deserializeTxPlusMeta</a>(*item);</div>
|
||||
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="keywordflow">if</span> (!txnPlusMeta.first || !txnPlusMeta.second)</div>
|
||||
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  {</div>
|
||||
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  <span class="stringliteral">"flatFetchTransactions : Error deserializing SHAMap node"</span>);</div>
|
||||
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  }</div>
|
||||
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  txns.push_back(std::move(txnPlusMeta));</div>
|
||||
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  }</div>
|
||||
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  {</div>
|
||||
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  <span class="stringliteral">"flatFetchTransactions : Containing SHAMap node not found"</span>);</div>
|
||||
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  }</div>
|
||||
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  }</div>
|
||||
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>  <span class="keywordflow">return</span> txns;</div>
|
||||
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> }</div>
|
||||
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><</div>
|
||||
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::shared_ptr<STTx const></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<STObject const></a>>></div>
|
||||
<div class="line"><a name="l01161"></a><span class="lineno"><a class="line" href="namespaceripple.html#a641da3f4ad91dd7082d6a58040932acf"> 1161</a></span> <a class="code" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">flatFetchTransactions</a>(<a class="code" href="classripple_1_1ReadView.html">ReadView</a> <span class="keyword">const</span>& ledger, <a class="code" href="classripple_1_1Application.html">Application</a>& app)</div>
|
||||
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> {</div>
|
||||
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  <span class="keywordflow">if</span> (!app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">reporting</a>())</div>
|
||||
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  {</div>
|
||||
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>  }</div>
|
||||
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  </div>
|
||||
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  <span class="keyword">auto</span> nodestoreHashes = <span class="keyword">dynamic_cast<</span><a class="code" href="classripple_1_1RelationalDBInterfacePostgres.html">RelationalDBInterfacePostgres</a>*<span class="keyword">></span>(</div>
|
||||
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>  &app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>())</div>
|
||||
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  -><a class="code" href="namespaceripple.html#a1f8ed5b1b502a174e0dec8728905cd1e">getTxHashes</a>(ledger.<a class="code" href="classripple_1_1ReadView.html#a9263b10d706a447166b229ad8e3b574c">info</a>().<a class="code" href="structripple_1_1LedgerInfo.html#a06608577034840a474361d55624ce9a0">seq</a>);</div>
|
||||
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  </div>
|
||||
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">flatFetchTransactions</a>(app, nodestoreHashes);</div>
|
||||
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> }</div>
|
||||
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  app.<a class="code" href="classripple_1_1Application.html#a860be08979e27d8c6f37f722f996ba6c">getJobQueue</a>().<a class="code" href="classripple_1_1JobQueue.html#af5e34187d55aa58e551dc196aaf1ec25">addJob</a>(jobType, jobName, [&app, ledger, <a class="code" href="namespaceripple.html#a38d1749cd010f88da471b4183b2dfe52">isCurrent</a>]() {</div>
|
||||
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  saveValidatedLedger(app, ledger, isCurrent);</div>
|
||||
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  }))</div>
|
||||
<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  {</div>
|
||||
<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  }</div>
|
||||
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  </div>
|
||||
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="comment">// The JobQueue won't do the Job. Do the save synchronously.</span></div>
|
||||
<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#a4574aa8b71b4bb8afc56cf6daff9ca86">saveValidatedLedger</a>(app, ledger, <a class="code" href="namespaceripple.html#a38d1749cd010f88da471b4183b2dfe52">isCurrent</a>);</div>
|
||||
<div class="line"><a name="l00993"></a><span class="lineno"> 993</span> }</div>
|
||||
<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  </div>
|
||||
<div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l00996"></a><span class="lineno"><a class="line" href="classripple_1_1Ledger.html#a0e6f8ad49de88ce1eb3ffa77ca346c21"> 996</a></span> <a class="code" href="classripple_1_1Ledger.html#a0e6f8ad49de88ce1eb3ffa77ca346c21">Ledger::unshare</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00997"></a><span class="lineno"> 997</span> <span class="keyword"></span>{</div>
|
||||
<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->unshare();</div>
|
||||
<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <a class="code" href="classripple_1_1Ledger.html#a6bb1b6a13fe4c60edbfd502c39fa687c">txMap_</a>->unshare();</div>
|
||||
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> }</div>
|
||||
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  </div>
|
||||
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l01003"></a><span class="lineno"><a class="line" href="classripple_1_1Ledger.html#a156082bb161144196934ce455ee404b2"> 1003</a></span> <a class="code" href="classripple_1_1Ledger.html#a156082bb161144196934ce455ee404b2">Ledger::invariants</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="keyword"></span>{</div>
|
||||
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <a class="code" href="classripple_1_1Ledger.html#a6608f7b02e1d18d06e27f28c5ce296d9">stateMap_</a>->invariants();</div>
|
||||
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <a class="code" href="classripple_1_1Ledger.html#a6bb1b6a13fe4c60edbfd502c39fa687c">txMap_</a>->invariants();</div>
|
||||
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> }</div>
|
||||
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  </div>
|
||||
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="comment">/*</span></div>
|
||||
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> <span class="comment"> * Make ledger using info loaded from database.</span></div>
|
||||
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="comment"> *</span></div>
|
||||
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> <span class="comment"> * @param LedgerInfo: Ledger information.</span></div>
|
||||
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="comment"> * @param app: Link to the Application.</span></div>
|
||||
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> <span class="comment"> * @param acquire: Acquire the ledger if not found locally.</span></div>
|
||||
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="comment"> * @return Shared pointer to the ledger.</span></div>
|
||||
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> <span class="comment"> */</span></div>
|
||||
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a></div>
|
||||
<div class="line"><a name="l01019"></a><span class="lineno"><a class="line" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061"> 1019</a></span> <a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(<a class="code" href="structripple_1_1LedgerInfo.html">LedgerInfo</a> <span class="keyword">const</span>& info, <a class="code" href="classripple_1_1Application.html">Application</a>& app, <span class="keywordtype">bool</span> acquire)</div>
|
||||
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> {</div>
|
||||
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="keywordtype">bool</span> loaded;</div>
|
||||
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keyword">auto</span> ledger = std::make_shared<Ledger>(</div>
|
||||
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  info,</div>
|
||||
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  loaded,</div>
|
||||
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <a class="code" href="namespaceripple.html#a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144">acquire</a>,</div>
|
||||
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>(),</div>
|
||||
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  app.<a class="code" href="classripple_1_1Application.html#a26ccdf06f25ceadec7894dd5f8da7eab">getNodeFamily</a>(),</div>
|
||||
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>));</div>
|
||||
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  </div>
|
||||
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <span class="keywordflow">if</span> (!loaded)</div>
|
||||
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  ledger.reset();</div>
|
||||
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  </div>
|
||||
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <span class="keywordflow">return</span> ledger;</div>
|
||||
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> }</div>
|
||||
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  </div>
|
||||
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l01037"></a><span class="lineno"><a class="line" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d"> 1037</a></span> <a class="code" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">finishLoadByIndexOrHash</a>(</div>
|
||||
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a> <span class="keyword">const</span>& ledger,</div>
|
||||
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <a class="code" href="classripple_1_1Config.html">Config</a> <span class="keyword">const</span>& config,</div>
|
||||
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
|
||||
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> {</div>
|
||||
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  <span class="keywordflow">if</span> (!ledger)</div>
|
||||
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  </div>
|
||||
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  ledger-><a class="code" href="classripple_1_1Ledger.html#a87ea8cee44207987a9d9ac826aacc831">setImmutable</a>(config);</div>
|
||||
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  </div>
|
||||
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  JLOG(j.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"Loaded ledger: "</span> << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(ledger-><a class="code" href="classripple_1_1Ledger.html#a31a21cc451eaa0a5af304e2625dc75f5">info</a>().<a class="code" href="structripple_1_1LedgerInfo.html#aab2ff724e7c4b0ccdea55d62cdab8bbc">hash</a>);</div>
|
||||
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  </div>
|
||||
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  ledger-><a class="code" href="classripple_1_1Ledger.html#a8a75fcab11d8fe2e7bd5cd6643a052e1">setFull</a>();</div>
|
||||
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> }</div>
|
||||
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  </div>
|
||||
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple<std::shared_ptr<Ledger></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>, <a class="code" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a>></div>
|
||||
<div class="line"><a name="l01053"></a><span class="lineno"><a class="line" href="namespaceripple.html#a04cf5c0dd5329bc0e0203fb86cf91ed3"> 1053</a></span> <a class="code" href="namespaceripple.html#a04cf5c0dd5329bc0e0203fb86cf91ed3">getLatestLedger</a>(<a class="code" href="classripple_1_1Application.html">Application</a>& app)</div>
|
||||
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span> {</div>
|
||||
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <span class="keyword">const</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<LedgerInfo></a> info =</div>
|
||||
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>().<a class="code" href="classripple_1_1RelationalDBInterface.html#a1cf137dce25e130bffe96e816ab67408">getNewestLedgerInfo</a>();</div>
|
||||
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  <span class="keywordflow">if</span> (!info)</div>
|
||||
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  <span class="keywordflow">return</span> {<a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a>(), {}, {}};</div>
|
||||
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  <span class="keywordflow">return</span> {<a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(*info, app, <span class="keyword">true</span>), info->seq, info->hash};</div>
|
||||
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span> }</div>
|
||||
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  </div>
|
||||
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a></div>
|
||||
<div class="line"><a name="l01063"></a><span class="lineno"><a class="line" href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d"> 1063</a></span> <a class="code" href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d">loadByIndex</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> ledgerIndex, <a class="code" href="classripple_1_1Application.html">Application</a>& app, <span class="keywordtype">bool</span> acquire)</div>
|
||||
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> {</div>
|
||||
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="keywordflow">if</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<LedgerInfo></a> info =</div>
|
||||
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>().<a class="code" href="classripple_1_1RelationalDBInterface.html#a1704b3edfa1eebb97e2772a1362ef781">getLedgerInfoByIndex</a>(ledgerIndex))</div>
|
||||
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  {</div>
|
||||
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a> ledger = <a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(*info, app, <a class="code" href="namespaceripple.html#a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144">acquire</a>);</div>
|
||||
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <a class="code" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">finishLoadByIndexOrHash</a>(ledger, app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>(), app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>));</div>
|
||||
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="keywordflow">return</span> ledger;</div>
|
||||
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  }</div>
|
||||
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> }</div>
|
||||
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  </div>
|
||||
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a></div>
|
||||
<div class="line"><a name="l01076"></a><span class="lineno"><a class="line" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e"> 1076</a></span> <a class="code" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">loadByHash</a>(<a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& ledgerHash, <a class="code" href="classripple_1_1Application.html">Application</a>& app, <span class="keywordtype">bool</span> acquire)</div>
|
||||
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> {</div>
|
||||
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keywordflow">if</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<LedgerInfo></a> info =</div>
|
||||
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>().<a class="code" href="classripple_1_1RelationalDBInterface.html#aa2591b2d99a0dcce5e980eb99b1de2a7">getLedgerInfoByHash</a>(ledgerHash))</div>
|
||||
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  {</div>
|
||||
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger></a> ledger = <a class="code" href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">loadLedgerHelper</a>(*info, app, <a class="code" href="namespaceripple.html#a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144">acquire</a>);</div>
|
||||
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <a class="code" href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">finishLoadByIndexOrHash</a>(ledger, app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>(), app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>));</div>
|
||||
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  assert(!ledger || ledger-><a class="code" href="classripple_1_1Ledger.html#a31a21cc451eaa0a5af304e2625dc75f5">info</a>().<a class="code" href="structripple_1_1LedgerInfo.html#aab2ff724e7c4b0ccdea55d62cdab8bbc">hash</a> == ledgerHash);</div>
|
||||
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <span class="keywordflow">return</span> ledger;</div>
|
||||
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  }</div>
|
||||
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> }</div>
|
||||
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  </div>
|
||||
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><</div>
|
||||
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::shared_ptr<STTx const></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<STObject const></a>>></div>
|
||||
<div class="line"><a name="l01091"></a><span class="lineno"><a class="line" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5"> 1091</a></span> <a class="code" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">flatFetchTransactions</a>(<a class="code" href="classripple_1_1Application.html">Application</a>& app, <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a>& nodestoreHashes)</div>
|
||||
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> {</div>
|
||||
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  <span class="keywordflow">if</span> (!app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">reporting</a>())</div>
|
||||
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  {</div>
|
||||
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  <span class="stringliteral">"flatFetchTransactions: not running in reporting mode"</span>);</div>
|
||||
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  }</div>
|
||||
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>  </div>
|
||||
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><</div>
|
||||
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::shared_ptr<STTx const></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<STObject const></a>>></div>
|
||||
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  txns;</div>
|
||||
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  <span class="keyword">auto</span> start = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock/now.html">std::chrono::system_clock::now</a>();</div>
|
||||
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  <span class="keyword">auto</span> nodeDb =</div>
|
||||
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  <span class="keyword">dynamic_cast<</span><a class="code" href="classripple_1_1NodeStore_1_1DatabaseNodeImp.html">NodeStore::DatabaseNodeImp</a>*<span class="keyword">></span>(&(app.<a class="code" href="classripple_1_1Application.html#a25c5851322f6cb3762563fd1278c6143">getNodeStore</a>()));</div>
|
||||
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  <span class="keywordflow">if</span> (!nodeDb)</div>
|
||||
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  {</div>
|
||||
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  <span class="stringliteral">"Called flatFetchTransactions but database is not DatabaseNodeImp"</span>);</div>
|
||||
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  }</div>
|
||||
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keyword">auto</span> objs = nodeDb->fetchBatch(nodestoreHashes);</div>
|
||||
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  </div>
|
||||
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  <span class="keyword">auto</span> end = <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/system_clock/now.html">std::chrono::system_clock::now</a>();</div>
|
||||
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  JLOG(app.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"Ledger"</span>).<a class="code" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>())</div>
|
||||
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  << <span class="stringliteral">" Flat fetch time : "</span> << ((end - start).count() / 1000000000.0)</div>
|
||||
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>  << <span class="stringliteral">" number of transactions "</span> << nodestoreHashes.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  assert(objs.size() == nodestoreHashes.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
|
||||
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < objs.size(); ++i)</div>
|
||||
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>  {</div>
|
||||
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a>& nodestoreHash = nodestoreHashes[i];</div>
|
||||
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>  <span class="keyword">auto</span>& obj = objs[i];</div>
|
||||
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  <span class="keywordflow">if</span> (obj)</div>
|
||||
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  {</div>
|
||||
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  <span class="keyword">auto</span> node = <a class="code" href="classripple_1_1SHAMapTreeNode.html#a5631e2f77123e3b73229ef4c890ad60f">SHAMapTreeNode::makeFromPrefix</a>(</div>
|
||||
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>  <a class="code" href="namespaceripple.html#aabe37451093c21757855542d68fba3ce">makeSlice</a>(obj->getData()), <a class="code" href="classripple_1_1SHAMapHash.html">SHAMapHash</a>{nodestoreHash});</div>
|
||||
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  <span class="keywordflow">if</span> (!node)</div>
|
||||
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  {</div>
|
||||
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  <span class="stringliteral">"flatFetchTransactions : Error making SHAMap node"</span>);</div>
|
||||
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  }</div>
|
||||
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <span class="keyword">auto</span> item = (<span class="keyword">static_cast<</span><a class="code" href="classripple_1_1SHAMapLeafNode.html">SHAMapLeafNode</a>*<span class="keyword">></span>(node.get()))->peekItem();</div>
|
||||
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  <span class="keywordflow">if</span> (!item)</div>
|
||||
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  {</div>
|
||||
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="stringliteral">"flatFetchTransactions : Error reading SHAMap node"</span>);</div>
|
||||
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  }</div>
|
||||
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  <span class="keyword">auto</span> txnPlusMeta = <a class="code" href="namespaceripple.html#aa1353a397900c2af70f9acba924b33cb">deserializeTxPlusMeta</a>(*item);</div>
|
||||
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  <span class="keywordflow">if</span> (!txnPlusMeta.first || !txnPlusMeta.second)</div>
|
||||
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  {</div>
|
||||
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  <span class="stringliteral">"flatFetchTransactions : Error deserializing SHAMap node"</span>);</div>
|
||||
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  }</div>
|
||||
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  txns.push_back(std::move(txnPlusMeta));</div>
|
||||
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  }</div>
|
||||
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  {</div>
|
||||
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>  Throw<std::runtime_error>(</div>
|
||||
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  <span class="stringliteral">"flatFetchTransactions : Containing SHAMap node not found"</span>);</div>
|
||||
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  }</div>
|
||||
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  }</div>
|
||||
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  <span class="keywordflow">return</span> txns;</div>
|
||||
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> }</div>
|
||||
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a><</div>
|
||||
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::shared_ptr<STTx const></a>, <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<STObject const></a>>></div>
|
||||
<div class="line"><a name="l01160"></a><span class="lineno"><a class="line" href="namespaceripple.html#a641da3f4ad91dd7082d6a58040932acf"> 1160</a></span> <a class="code" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">flatFetchTransactions</a>(<a class="code" href="classripple_1_1ReadView.html">ReadView</a> <span class="keyword">const</span>& ledger, <a class="code" href="classripple_1_1Application.html">Application</a>& app)</div>
|
||||
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> {</div>
|
||||
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  <span class="keywordflow">if</span> (!app.<a class="code" href="classripple_1_1Application.html#aca56b7c63030174e59720ab51d739422">config</a>().<a class="code" href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">reporting</a>())</div>
|
||||
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  {</div>
|
||||
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  <span class="keywordflow">return</span> {};</div>
|
||||
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  }</div>
|
||||
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>  </div>
|
||||
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="keyword">auto</span> nodestoreHashes = <span class="keyword">dynamic_cast<</span><a class="code" href="classripple_1_1RelationalDBInterfacePostgres.html">RelationalDBInterfacePostgres</a>*<span class="keyword">></span>(</div>
|
||||
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  &app.<a class="code" href="classripple_1_1Application.html#abd5ac50ab472e7b95341b391cc941e48">getRelationalDBInterface</a>())</div>
|
||||
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>  -><a class="code" href="namespaceripple.html#a1f8ed5b1b502a174e0dec8728905cd1e">getTxHashes</a>(ledger.<a class="code" href="classripple_1_1ReadView.html#a9263b10d706a447166b229ad8e3b574c">info</a>().<a class="code" href="structripple_1_1LedgerInfo.html#a06608577034840a474361d55624ce9a0">seq</a>);</div>
|
||||
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  </div>
|
||||
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">flatFetchTransactions</a>(app, nodestoreHashes);</div>
|
||||
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span> }</div>
|
||||
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span> } <span class="comment">// namespace ripple</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_a158ccc470b30b011cd462eadcf6f249c"><div class="ttname"><a href="classripple_1_1STArray.html#a158ccc470b30b011cd462eadcf6f249c">ripple::STArray::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00138">STArray.h:138</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_a158ccc470b30b011cd462eadcf6f249c"><div class="ttname"><a href="classripple_1_1STArray.html#a158ccc470b30b011cd462eadcf6f249c">ripple::STArray::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00215">STArray.h:215</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a3dfb8e2e3eecccdb5cf78ff21bca069c"><div class="ttname"><a href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">beast::Journal::fatal</a></div><div class="ttdeci">Stream fatal() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00339">Journal.h:339</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_a9263b10d706a447166b229ad8e3b574c"><div class="ttname"><a href="classripple_1_1ReadView.html#a9263b10d706a447166b229ad8e3b574c">ripple::ReadView::info</a></div><div class="ttdeci">virtual LedgerInfo const & info() const =0</div><div class="ttdoc">Returns information about the ledger.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a0b300e04e1cd2c608710d02467f4e7be"><div class="ttname"><a href="classripple_1_1Ledger.html#a0b300e04e1cd2c608710d02467f4e7be">ripple::Ledger::slesUpperBound</a></div><div class="ttdeci">std::unique_ptr< sles_type::iter_base > slesUpperBound(uint256 const &key) const override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00463">Ledger.cpp:463</a></div></div>
|
||||
@@ -1251,6 +1250,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_aa83dfb46c969cf85cba5ca889b5cf7d6"><div class="ttname"><a href="classripple_1_1Ledger.html#aa83dfb46c969cf85cba5ca889b5cf7d6">ripple::Ledger::slesBegin</a></div><div class="ttdeci">std::unique_ptr< sles_type::iter_base > slesBegin() const override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00451">Ledger.cpp:451</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Application_html_a26ccdf06f25ceadec7894dd5f8da7eab"><div class="ttname"><a href="classripple_1_1Application.html#a26ccdf06f25ceadec7894dd5f8da7eab">ripple::Application::getNodeFamily</a></div><div class="ttdeci">virtual Family & getNodeFamily()=0</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_aef7b9a3e3b4fd553e0a9db4ff1e7a8a7"><div class="ttname"><a href="classripple_1_1Ledger.html#aef7b9a3e3b4fd553e0a9db4ff1e7a8a7">ripple::Ledger::addSLE</a></div><div class="ttdeci">bool addSLE(SLE const &sle)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00372">Ledger.cpp:372</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STLedgerEntry_html_adef03efcc12360ee4a7e17bd2434f312"><div class="ttname"><a href="classripple_1_1STLedgerEntry.html#adef03efcc12360ee4a7e17bd2434f312">ripple::STLedgerEntry::key</a></div><div class="ttdeci">uint256 const & key() const</div><div class="ttdoc">Returns the 'key' (or 'index') of this item.</div><div class="ttdef"><b>Definition:</b> <a href="STLedgerEntry_8h_source.html#l00113">STLedgerEntry.h:113</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a81aef0121745f69cf76b866c91c2639c"><div class="ttname"><a href="namespaceripple.html#a81aef0121745f69cf76b866c91c2639c">ripple::isFlagLedger</a></div><div class="ttdeci">bool isFlagLedger(LedgerIndex seq)</div><div class="ttdoc">Returns true if the given ledgerIndex is a flag ledgerIndex.</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00913">Ledger.cpp:913</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a210375076ddca23b7374efea0b34de4a"><div class="ttname"><a href="classripple_1_1Ledger.html#a210375076ddca23b7374efea0b34de4a">ripple::Ledger::rawReplace</a></div><div class="ttdeci">void rawReplace(std::shared_ptr< SLE > const &sle) override</div><div class="ttdoc">Unconditionally replace a state item.</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00541">Ledger.cpp:541</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c"><div class="ttname"><a href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bda7fa2267e9b1bf739a70bb1860ab2a99c">ripple::HashPrefix::ledgerMaster</a></div><div class="ttdeci">@ ledgerMaster</div><div class="ttdoc">ledger master data for signing</div></div>
|
||||
@@ -1269,14 +1269,14 @@ $(function() {
|
||||
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="astructripple_1_1LedgerInfo_html_a5c129196edfd78e992f81959f075e5ca"><div class="ttname"><a href="structripple_1_1LedgerInfo.html#a5c129196edfd78e992f81959f075e5ca">ripple::LedgerInfo::parentHash</a></div><div class="ttdeci">uint256 parentHash</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00103">ReadView.h:103</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_a5660f18c64be5f8270fe66fcc25d0de8"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a5660f18c64be5f8270fe66fcc25d0de8">ripple::keylet::amendments</a></div><div class="ttdeci">Keylet const & amendments() noexcept</div><div class="ttdoc">The index of the amendment table.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00160">Indexes.cpp:160</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a22adb38923282bf7dbb38655afdb381d"><div class="ttname"><a href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d">ripple::loadByIndex</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadByIndex(std::uint32_t ledgerIndex, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01064">Ledger.cpp:1064</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a22adb38923282bf7dbb38655afdb381d"><div class="ttname"><a href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d">ripple::loadByIndex</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadByIndex(std::uint32_t ledgerIndex, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01063">Ledger.cpp:1063</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ad5143ceada01141772ae4aab984f94bda555f976fd82d9e7e487770c44c7980bf"><div class="ttname"><a href="namespaceripple.html#ad5143ceada01141772ae4aab984f94bda555f976fd82d9e7e487770c44c7980bf">ripple::HashPrefix::txNode</a></div><div class="ttdeci">@ txNode</div><div class="ttdoc">transaction plus metadata</div></div>
|
||||
<div class="ttc" id="autility_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/utility.html">utility</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_aba4ba40c32fcac1daa1fb3c867c5117e"><div class="ttname"><a href="classripple_1_1Ledger.html#aba4ba40c32fcac1daa1fb3c867c5117e">ripple::Ledger::fees_</a></div><div class="ttdeci">Fees fees_</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8h_source.html#l00408">Ledger.h:408</a></div></div>
|
||||
<div class="ttc" id="aexception_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html_ad2bffc75e554b89befbb9388e07392c0"><div class="ttname"><a href="classripple_1_1base__uint.html#ad2bffc75e554b89befbb9388e07392c0">ripple::base_uint::isNonZero</a></div><div class="ttdeci">bool isNonZero() const</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00516">base_uint.h:516</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_abbe082bd27ca0f1d1365af2824e4f85b"><div class="ttname"><a href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">beast::Journal::trace</a></div><div class="ttdeci">Stream trace() const</div><div class="ttdoc">Severity stream access functions.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00309">Journal.h:309</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a0e6f8ad49de88ce1eb3ffa77ca346c21"><div class="ttname"><a href="classripple_1_1Ledger.html#a0e6f8ad49de88ce1eb3ffa77ca346c21">ripple::Ledger::unshare</a></div><div class="ttdeci">void unshare() const</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00997">Ledger.cpp:997</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a0e6f8ad49de88ce1eb3ffa77ca346c21"><div class="ttname"><a href="classripple_1_1Ledger.html#a0e6f8ad49de88ce1eb3ffa77ca346c21">ripple::Ledger::unshare</a></div><div class="ttdeci">void unshare() const</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00996">Ledger.cpp:996</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a220660a0e999b374e502b117ae93833f"><div class="ttname"><a href="classripple_1_1Ledger.html#a220660a0e999b374e502b117ae93833f">ripple::Ledger::slesEnd</a></div><div class="ttdeci">std::unique_ptr< sles_type::iter_base > slesEnd() const override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00457">Ledger.cpp:457</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1ReadView_1_1txs__type_html"><div class="ttname"><a href="structripple_1_1ReadView_1_1txs__type.html">ripple::ReadView::txs_type</a></div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00213">ReadView.h:213</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af96d1bdc5286a37ae6e34b3f05d7a1bd"><div class="ttname"><a href="namespaceripple.html#af96d1bdc5286a37ae6e34b3f05d7a1bd">ripple::sfFirstLedgerSequence</a></div><div class="ttdeci">const SF_UINT32 sfFirstLedgerSequence</div></div>
|
||||
@@ -1297,23 +1297,23 @@ $(function() {
|
||||
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::duration</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1DatabaseNodeImp_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1DatabaseNodeImp.html">ripple::NodeStore::DatabaseNodeImp</a></div><div class="ttdef"><b>Definition:</b> <a href="DatabaseNodeImp_8h_source.html#l00030">DatabaseNodeImp.h:30</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_acda2d89a44551845c5be38291e5c9e8b"><div class="ttname"><a href="namespaceripple_1_1keylet.html#acda2d89a44551845c5be38291e5c9e8b">ripple::keylet::skip</a></div><div class="ttdeci">Keylet const & skip() noexcept</div><div class="ttdoc">The index of the "short" skip list.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00142">Indexes.cpp:142</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a04cf5c0dd5329bc0e0203fb86cf91ed3"><div class="ttname"><a href="namespaceripple.html#a04cf5c0dd5329bc0e0203fb86cf91ed3">ripple::getLatestLedger</a></div><div class="ttdeci">std::tuple< std::shared_ptr< Ledger >, std::uint32_t, uint256 > getLatestLedger(Application &app)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01054">Ledger.cpp:1054</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a04cf5c0dd5329bc0e0203fb86cf91ed3"><div class="ttname"><a href="namespaceripple.html#a04cf5c0dd5329bc0e0203fb86cf91ed3">ripple::getLatestLedger</a></div><div class="ttdeci">std::tuple< std::shared_ptr< Ledger >, std::uint32_t, uint256 > getLatestLedger(Application &app)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01053">Ledger.cpp:1053</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a9a1e35684311191adb2870e2d88030fc"><div class="ttname"><a href="namespaceripple.html#a9a1e35684311191adb2870e2d88030fc">ripple::FLAG_LEDGER_INTERVAL</a></div><div class="ttdeci">constexpr std::uint32_t FLAG_LEDGER_INTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8h_source.html#l00416">Ledger.h:416</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_a6ae7e459a83bc46c3cfd9025753af1cb"><div class="ttname"><a href="classripple_1_1STObject.html#a6ae7e459a83bc46c3cfd9025753af1cb">ripple::STObject::getSerializer</a></div><div class="ttdeci">Serializer getSerializer() const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8h_source.html#l00367">STObject.h:367</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_a6ae7e459a83bc46c3cfd9025753af1cb"><div class="ttname"><a href="classripple_1_1STObject.html#a6ae7e459a83bc46c3cfd9025753af1cb">ripple::STObject::getSerializer</a></div><div class="ttdeci">Serializer getSerializer() const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8h_source.html#l00884">STObject.h:884</a></div></div>
|
||||
<div class="ttc" id="aemplace_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/unordered_set/emplace.html">std::unordered_set::emplace</a></div><div class="ttdeci">T emplace(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a196e844a1c5a015af934bd864690a1e2"><div class="ttname"><a href="classripple_1_1Ledger.html#a196e844a1c5a015af934bd864690a1e2">ripple::Ledger::exists</a></div><div class="ttdeci">bool exists(Keylet const &k) const override</div><div class="ttdoc">Determine if a state item exists.</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00408">Ledger.cpp:408</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_ad8fefe3e8ad583e1ed1bf02094ac3d8f"><div class="ttname"><a href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">beast::Journal::warn</a></div><div class="ttdeci">Stream warn() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00327">Journal.h:327</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_1_1txs__iter__impl_html_a8b25859915691946909c9fc87db55753"><div class="ttname"><a href="classripple_1_1Ledger_1_1txs__iter__impl.html#a8b25859915691946909c9fc87db55753">ripple::Ledger::txs_iter_impl::equal</a></div><div class="ttdeci">bool equal(base_type const &impl) const override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00155">Ledger.cpp:155</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_adc3dc750320964c46b6d4ea2af8b8bc7"><div class="ttname"><a href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">ripple::STArray::push_back</a></div><div class="ttdeci">void push_back(STObject const &object)</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00096">STArray.h:96</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_adc3dc750320964c46b6d4ea2af8b8bc7"><div class="ttname"><a href="classripple_1_1STArray.html#adc3dc750320964c46b6d4ea2af8b8bc7">ripple::STArray::push_back</a></div><div class="ttdeci">void push_back(STObject const &object)</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00173">STArray.h:173</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a66371f260017cdea7bef8f694a631139"><div class="ttname"><a href="classripple_1_1Ledger.html#a66371f260017cdea7bef8f694a631139">ripple::Ledger::peek</a></div><div class="ttdeci">std::shared_ptr< SLE > peek(Keylet const &k) const</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00644">Ledger.cpp:644</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a156082bb161144196934ce455ee404b2"><div class="ttname"><a href="classripple_1_1Ledger.html#a156082bb161144196934ce455ee404b2">ripple::Ledger::invariants</a></div><div class="ttdeci">void invariants() const</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01004">Ledger.cpp:1004</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a156082bb161144196934ce455ee404b2"><div class="ttname"><a href="classripple_1_1Ledger.html#a156082bb161144196934ce455ee404b2">ripple::Ledger::invariants</a></div><div class="ttdeci">void invariants() const</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01003">Ledger.cpp:1003</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aebcad336ac983e05caf01c53d1cacde7"><div class="ttname"><a href="namespaceripple.html#aebcad336ac983e05caf01c53d1cacde7">ripple::roundCloseTime</a></div><div class="ttdeci">std::chrono::time_point< Clock, Duration > roundCloseTime(std::chrono::time_point< Clock, Duration > closeTime, std::chrono::duration< Rep, Period > closeResolution)</div><div class="ttdoc">Calculates the close time for a ledger, given a close time resolution.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerTiming_8h_source.html#l00129">LedgerTiming.h:129</a></div></div>
|
||||
<div class="ttc" id="atuple_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_1_1txs__iter__impl_html_abb153a1774b651b6784b4103ee69bc6c"><div class="ttname"><a href="classripple_1_1Ledger_1_1txs__iter__impl.html#abb153a1774b651b6784b4103ee69bc6c">ripple::Ledger::txs_iter_impl::operator=</a></div><div class="ttdeci">txs_iter_impl & operator=(txs_iter_impl const &)=delete</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1JobQueue_html_af5e34187d55aa58e551dc196aaf1ec25"><div class="ttname"><a href="classripple_1_1JobQueue.html#af5e34187d55aa58e551dc196aaf1ec25">ripple::JobQueue::addJob</a></div><div class="ttdeci">bool addJob(JobType type, std::string const &name, JobHandler &&jobHandler)</div><div class="ttdoc">Adds a job to the JobQueue.</div><div class="ttdef"><b>Definition:</b> <a href="JobQueue_8h_source.html#l00166">JobQueue.h:166</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1LedgerInfo_html_a06608577034840a474361d55624ce9a0"><div class="ttname"><a href="structripple_1_1LedgerInfo.html#a06608577034840a474361d55624ce9a0">ripple::LedgerInfo::seq</a></div><div class="ttdeci">LedgerIndex seq</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00092">ReadView.h:92</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a0432690b8a2af03cd14cf6c07561ea53"><div class="ttname"><a href="classripple_1_1Ledger.html#a0432690b8a2af03cd14cf6c07561ea53">ripple::Ledger::rawTxInsert</a></div><div class="ttdeci">void rawTxInsert(uint256 const &key, std::shared_ptr< Serializer const > const &txn, std::shared_ptr< Serializer const > const &metaData) override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00552">Ledger.cpp:552</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_af1235d307d6f464392a583d0dfaa3cc4"><div class="ttname"><a href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">ripple::STObject::setFieldVL</a></div><div class="ttdeci">void setFieldVL(SField const &field, Blob const &)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00668">STObject.cpp:668</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_af1235d307d6f464392a583d0dfaa3cc4"><div class="ttname"><a href="classripple_1_1STObject.html#af1235d307d6f464392a583d0dfaa3cc4">ripple::STObject::setFieldVL</a></div><div class="ttdeci">void setFieldVL(SField const &field, Blob const &)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00695">STObject.cpp:695</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1PendingSaves_html_a9c7ac1e9824096756225e77ed14244c1"><div class="ttname"><a href="classripple_1_1PendingSaves.html#a9c7ac1e9824096756225e77ed14244c1">ripple::PendingSaves::startWork</a></div><div class="ttdeci">bool startWork(LedgerIndex seq)</div><div class="ttdoc">Start working on a ledger.</div><div class="ttdef"><b>Definition:</b> <a href="PendingSaves_8h_source.html#l00051">PendingSaves.h:51</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_1_1txs__iter__impl_html_a9c90a5db622af7862c7e570e4d29cff5"><div class="ttname"><a href="classripple_1_1Ledger_1_1txs__iter__impl.html#a9c90a5db622af7862c7e570e4d29cff5">ripple::Ledger::txs_iter_impl::txs_iter_impl</a></div><div class="ttdeci">txs_iter_impl(bool metadata, SHAMap::const_iterator iter)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00143">Ledger.cpp:143</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1Fees_html_a75648591a2d5bc9e670f1f4081bfdfe0"><div class="ttname"><a href="structripple_1_1Fees.html#a75648591a2d5bc9e670f1f4081bfdfe0">ripple::Fees::reserve</a></div><div class="ttdeci">XRPAmount reserve</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00052">ReadView.h:52</a></div></div>
|
||||
@@ -1325,7 +1325,7 @@ $(function() {
|
||||
<div class="ttc" id="astructripple_1_1LedgerInfo_html_a1ddad764a35cb7eb22d0b4b62df047d5"><div class="ttname"><a href="structripple_1_1LedgerInfo.html#a1ddad764a35cb7eb22d0b4b62df047d5">ripple::LedgerInfo::txHash</a></div><div class="ttdeci">uint256 txHash</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00101">ReadView.h:101</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_aeb716bc6cc0abdf5389e022e2504ba61"><div class="ttname"><a href="classripple_1_1Ledger.html#aeb716bc6cc0abdf5389e022e2504ba61">ripple::Ledger::info_</a></div><div class="ttdeci">LedgerInfo info_</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8h_source.html#l00410">Ledger.h:410</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RelationalDBInterfacePostgres_html"><div class="ttname"><a href="classripple_1_1RelationalDBInterfacePostgres.html">ripple::RelationalDBInterfacePostgres</a></div><div class="ttdef"><b>Definition:</b> <a href="RelationalDBInterfacePostgres_8h_source.html#l00027">RelationalDBInterfacePostgres.h:27</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a16f9dbea9c8dfaaaca124cf61c6b6e6d"><div class="ttname"><a href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">ripple::finishLoadByIndexOrHash</a></div><div class="ttdeci">static void finishLoadByIndexOrHash(std::shared_ptr< Ledger > const &ledger, Config const &config, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01038">Ledger.cpp:1038</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a16f9dbea9c8dfaaaca124cf61c6b6e6d"><div class="ttname"><a href="namespaceripple.html#a16f9dbea9c8dfaaaca124cf61c6b6e6d">ripple::finishLoadByIndexOrHash</a></div><div class="ttdeci">static void finishLoadByIndexOrHash(std::shared_ptr< Ledger > const &ledger, Config const &config, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01037">Ledger.cpp:1037</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a224ce479b5c4267f2863235a53508803"><div class="ttname"><a href="namespaceripple.html#a224ce479b5c4267f2863235a53508803">ripple::deserializeTx</a></div><div class="ttdeci">std::shared_ptr< STTx const > deserializeTx(SHAMapItem const &item)</div><div class="ttdoc">Deserialize a SHAMapItem containing a single STTx.</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00382">Ledger.cpp:382</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SHAMapHash_html"><div class="ttname"><a href="classripple_1_1SHAMapHash.html">ripple::SHAMapHash</a></div><div class="ttdef"><b>Definition:</b> <a href="SHAMapHash_8h_source.html#l00032">SHAMapHash.h:32</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a355ec605d1063c4316b6f1480359da19"><div class="ttname"><a href="namespaceripple.html#a355ec605d1063c4316b6f1480359da19">ripple::generateKeyPair</a></div><div class="ttdeci">std::pair< PublicKey, SecretKey > generateKeyPair(KeyType type, Seed const &seed)</div><div class="ttdoc">Generate a key pair deterministically.</div><div class="ttdef"><b>Definition:</b> <a href="SecretKey_8cpp_source.html#l00351">SecretKey.cpp:351</a></div></div>
|
||||
@@ -1340,7 +1340,6 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a91e9fe7a4e92dba79c3812fd3edcaacc"><div class="ttname"><a href="namespaceripple.html#a91e9fe7a4e92dba79c3812fd3edcaacc">ripple::digest</a></div><div class="ttdeci">static Hasher::result_type digest(void const *data, std::size_t size) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="tokens_8cpp_source.html#l00047">tokens.cpp:47</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1LedgerInfo_html_a8776d1f7ea49b0e25577f5610620c8fc"><div class="ttname"><a href="structripple_1_1LedgerInfo.html#a8776d1f7ea49b0e25577f5610620c8fc">ripple::LedgerInfo::closeTime</a></div><div class="ttdeci">NetClock::time_point closeTime</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00123">ReadView.h:123</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_adc1f8a2c9b47d7c08e671ad3473e9d3a"><div class="ttname"><a href="namespaceripple.html#adc1f8a2c9b47d7c08e671ad3473e9d3a">ripple::publicKeyType</a></div><div class="ttdeci">std::optional< KeyType > publicKeyType(Slice const &slice)</div><div class="ttdoc">Returns the type of public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8cpp_source.html#l00203">PublicKey.cpp:203</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STLedgerEntry_html_a6387602187c2ca4e22297d5c908cbad6"><div class="ttname"><a href="classripple_1_1STLedgerEntry.html#a6387602187c2ca4e22297d5c908cbad6">ripple::STLedgerEntry::key</a></div><div class="ttdeci">uint256 const & key() const</div><div class="ttdoc">Returns the 'key' (or 'index') of this item.</div><div class="ttdef"><b>Definition:</b> <a href="STLedgerEntry_8h_source.html#l00086">STLedgerEntry.h:86</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1Keylet_html_a482983062843a8682fcea76a309c73db"><div class="ttname"><a href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">ripple::Keylet::key</a></div><div class="ttdeci">uint256 key</div><div class="ttdef"><b>Definition:</b> <a href="Keylet_8h_source.html#l00040">Keylet.h:40</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< 256 ></a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17aaa4e32e16425bc63db04ed98f3b3f4259"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17aaa4e32e16425bc63db04ed98f3b3f4259">ripple::jtPUBOLDLEDGER</a></div><div class="ttdeci">@ jtPUBOLDLEDGER</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00043">Job.h:43</a></div></div>
|
||||
@@ -1349,7 +1348,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_a8fdf3fd3b2112759b3a0a7fa4d8afa05"><div class="ttname"><a href="classripple_1_1Config.html#a8fdf3fd3b2112759b3a0a7fa4d8afa05">ripple::Config::reporting</a></div><div class="ttdeci">bool reporting() const</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00316">Config.h:316</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a46a546d8198b17cb9dff3036d920eee4"><div class="ttname"><a href="classripple_1_1Ledger.html#a46a546d8198b17cb9dff3036d920eee4">ripple::Ledger::txExists</a></div><div class="ttdeci">bool txExists(uint256 const &key) const override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00482">Ledger.cpp:482</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a4574aa8b71b4bb8afc56cf6daff9ca86"><div class="ttname"><a href="namespaceripple.html#a4574aa8b71b4bb8afc56cf6daff9ca86">ripple::saveValidatedLedger</a></div><div class="ttdeci">static bool saveValidatedLedger(Application &app, std::shared_ptr< Ledger const > const &ledger, bool current)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00919">Ledger.cpp:919</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a729619e7a3a0d92226e7d52347ff2a5e"><div class="ttname"><a href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">ripple::loadByHash</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadByHash(uint256 const &ledgerHash, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01077">Ledger.cpp:1077</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a729619e7a3a0d92226e7d52347ff2a5e"><div class="ttname"><a href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">ripple::loadByHash</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadByHash(uint256 const &ledgerHash, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01076">Ledger.cpp:1076</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RelationalDBInterface_html_a1704b3edfa1eebb97e2772a1362ef781"><div class="ttname"><a href="classripple_1_1RelationalDBInterface.html#a1704b3edfa1eebb97e2772a1362ef781">ripple::RelationalDBInterface::getLedgerInfoByIndex</a></div><div class="ttdeci">virtual std::optional< LedgerInfo > getLedgerInfoByIndex(LedgerIndex ledgerSeq)=0</div><div class="ttdoc">getLedgerInfoByIndex Returns ledger by its sequence.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html_a6fd7dba1ad932f4c1246c9a090c145e5"><div class="ttname"><a href="classripple_1_1base__uint.html#a6fd7dba1ad932f4c1246c9a090c145e5">ripple::base_uint::isZero</a></div><div class="ttdeci">bool isZero() const</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00511">base_uint.h:511</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_acbcedaa40d8162271cb6e6f37f549e5f"><div class="ttname"><a href="classripple_1_1Ledger.html#acbcedaa40d8162271cb6e6f37f549e5f">ripple::Ledger::setAccepted</a></div><div class="ttdeci">void setAccepted(NetClock::time_point closeTime, NetClock::duration closeResolution, bool correctCloseTime, Config const &config)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00356">Ledger.cpp:356</a></div></div>
|
||||
@@ -1372,7 +1371,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a38d1749cd010f88da471b4183b2dfe52"><div class="ttname"><a href="namespaceripple.html#a38d1749cd010f88da471b4183b2dfe52">ripple::isCurrent</a></div><div class="ttdeci">bool isCurrent(ValidationParms const &p, NetClock::time_point now, NetClock::time_point signTime, NetClock::time_point seenTime)</div><div class="ttdoc">Whether a validation is still current.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l00146">Validations.h:146</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_1_1txs__iter__impl_html_a3edbc55ca2c3810cf38611bc1a3f74ad"><div class="ttname"><a href="classripple_1_1Ledger_1_1txs__iter__impl.html#a3edbc55ca2c3810cf38611bc1a3f74ad">ripple::Ledger::txs_iter_impl::iter_</a></div><div class="ttdeci">SHAMap::const_iterator iter_</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00134">Ledger.cpp:134</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_afa4d9ecf1f0056fb1709770696b036f0"><div class="ttname"><a href="classripple_1_1Config.html#afa4d9ecf1f0056fb1709770696b036f0">ripple::Config::FEE_OWNER_RESERVE</a></div><div class="ttdeci">XRPAmount FEE_OWNER_RESERVE</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00188">Config.h:188</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html">ripple::SHAMap::const_iterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SHAMap_8h_source.html#l00597">SHAMap.h:597</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SHAMap_1_1const__iterator_html"><div class="ttname"><a href="classripple_1_1SHAMap_1_1const__iterator.html">ripple::SHAMap::const_iterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SHAMap_8h_source.html#l00624">SHAMap.h:624</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a614d8681c8dff84ac2257939751987c5"><div class="ttname"><a href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">ripple::calcAccountID</a></div><div class="ttdeci">AccountID calcAccountID(PublicKey const &pk)</div><div class="ttdef"><b>Definition:</b> <a href="AccountID_8cpp_source.html#l00080">AccountID.cpp:80</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SHAMap_html"><div class="ttname"><a href="classripple_1_1SHAMap.html">ripple::SHAMap</a></div><div class="ttdoc">A SHAMap is both a radix tree with a fan-out of 16 and a Merkle tree.</div><div class="ttdef"><b>Definition:</b> <a href="SHAMap_8h_source.html#l00095">SHAMap.h:95</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html"><div class="ttname"><a href="classripple_1_1STArray.html">ripple::STArray</a></div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00028">STArray.h:28</a></div></div>
|
||||
@@ -1394,7 +1393,6 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a136b67ea0189f69434c67ebbbffd8e49"><div class="ttname"><a href="classripple_1_1Ledger.html#a136b67ea0189f69434c67ebbbffd8e49">ripple::Ledger::assertSensible</a></div><div class="ttdeci">bool assertSensible(beast::Journal ledgerJ) const</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00814">Ledger.cpp:814</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Family_html"><div class="ttname"><a href="classripple_1_1Family.html">ripple::Family</a></div><div class="ttdef"><b>Definition:</b> <a href="Family_8h_source.html#l00032">Family.h:32</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a6434c1a0fd22b77e2e4a228c0eca79eba43b5c9175984c071f30b873fdce0a000"><div class="ttname"><a href="namespaceripple.html#a6434c1a0fd22b77e2e4a228c0eca79eba43b5c9175984c071f30b873fdce0a000">ripple::ValStatus::current</a></div><div class="ttdeci">@ current</div><div class="ttdoc">This was a new validation and was added.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Job_html"><div class="ttname"><a href="classripple_1_1Job.html">ripple::Job</a></div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00094">Job.h:94</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SerialIter_html"><div class="ttname"><a href="classripple_1_1SerialIter.html">ripple::SerialIter</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00310">Serializer.h:310</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1PendingSaves_html_a50e49f47a9b7bbc2e7875918708b0624"><div class="ttname"><a href="classripple_1_1PendingSaves.html#a50e49f47a9b7bbc2e7875918708b0624">ripple::PendingSaves::finishWork</a></div><div class="ttdeci">void finishWork(LedgerIndex seq)</div><div class="ttdoc">Finish working on a ledger.</div><div class="ttdef"><b>Definition:</b> <a href="PendingSaves_8h_source.html#l00074">PendingSaves.h:74</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00058">Journal.h:58</a></div></div>
|
||||
@@ -1407,7 +1405,6 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a29434afa7c2ad64e71bb139bdd588191"><div class="ttname"><a href="classripple_1_1Ledger.html#a29434afa7c2ad64e71bb139bdd588191">ripple::Ledger::validatorToReEnable</a></div><div class="ttdeci">std::optional< PublicKey > validatorToReEnable() const</div><div class="ttdoc">get the to be re-enabled validator's master public key if any</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00697">Ledger.cpp:697</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1PendingSaves_html_ab5e9e105f7d12575bc2025468b4cc1f8"><div class="ttname"><a href="classripple_1_1PendingSaves.html#ab5e9e105f7d12575bc2025468b4cc1f8">ripple::PendingSaves::shouldWork</a></div><div class="ttdeci">bool shouldWork(LedgerIndex seq, bool isSynchronous)</div><div class="ttdoc">Check if a ledger should be dispatched.</div><div class="ttdef"><b>Definition:</b> <a href="PendingSaves_8h_source.html#l00099">PendingSaves.h:99</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1LedgerInfo_html_ad789f949fc35acd576aac965b20aaaca"><div class="ttname"><a href="structripple_1_1LedgerInfo.html#ad789f949fc35acd576aac965b20aaaca">ripple::LedgerInfo::drops</a></div><div class="ttdeci">XRPAmount drops</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00105">ReadView.h:105</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_a9a8e8e818ee5ba2536921d3e63cda98e"><div class="ttname"><a href="classripple_1_1STArray.html#a9a8e8e818ee5ba2536921d3e63cda98e">ripple::STArray::back</a></div><div class="ttdeci">STObject & back()</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00077">STArray.h:77</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757"><div class="ttname"><a href="namespaceripple.html#a9de744cfdefe1132969eb982e57e4ddea82c2b7829b8129e5a2d53665ba4b4757">ripple::KeyType::secp256k1</a></div><div class="ttdeci">@ secp256k1</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Serializer_html"><div class="ttname"><a href="classripple_1_1Serializer.html">ripple::Serializer</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00039">Serializer.h:39</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ad30131b5a5b7cf60d9b392ab868b8c0e"><div class="ttname"><a href="namespaceripple.html#ad30131b5a5b7cf60d9b392ab868b8c0e">ripple::getJson</a></div><div class="ttdeci">Json::Value getJson(LedgerFill const &fill)</div><div class="ttdoc">Return a new Json::Value representing the ledger with given options.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerToJson_8cpp_source.html#l00291">LedgerToJson.cpp:291</a></div></div>
|
||||
@@ -1429,7 +1426,7 @@ $(function() {
|
||||
<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 &name)=0</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144"><div class="ttname"><a href="namespaceripple.html#a63a883cebf81b764433e67d90d4470d9a86a4fa105ff51b8c3be84734797d8144">ripple::ShardState::acquire</a></div><div class="ttdeci">@ acquire</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a0003b028844c6ac875b7c5f328d0c92e"><div class="ttname"><a href="classripple_1_1Ledger.html#a0003b028844c6ac875b7c5f328d0c92e">ripple::Ledger::setup</a></div><div class="ttdeci">bool setup(Config const &config)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00590">Ledger.cpp:590</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_a12601f465a34c4aba5b9212e747d738d"><div class="ttname"><a href="classripple_1_1STArray.html#a12601f465a34c4aba5b9212e747d738d">ripple::STArray::emplace_back</a></div><div class="ttdeci">void emplace_back(Args &&... args)</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00090">STArray.h:90</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_a12601f465a34c4aba5b9212e747d738d"><div class="ttname"><a href="classripple_1_1STArray.html#a12601f465a34c4aba5b9212e747d738d">ripple::STArray::emplace_back</a></div><div class="ttdeci">void emplace_back(Args &&... args)</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00167">STArray.h:167</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_ac284afc905c482953c35c61b459fd85b"><div class="ttname"><a href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">ripple::ReadView::seq</a></div><div class="ttdeci">LedgerIndex seq() const</div><div class="ttdoc">Returns the sequence number of the base ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00260">ReadView.h:260</a></div></div>
|
||||
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
|
||||
<div class="ttc" id="anamespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace.</div></div>
|
||||
@@ -1457,6 +1454,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a5d9fe757c37a7602a883d30b14e1bf3c"><div class="ttname"><a href="namespaceripple.html#a5d9fe757c37a7602a883d30b14e1bf3c">ripple::SHAMapType</a></div><div class="ttdeci">SHAMapType</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapMissingNode_8h_source.html#l00032">SHAMapMissingNode.h:32</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_1_1txs__iter__impl_html"><div class="ttname"><a href="classripple_1_1Ledger_1_1txs__iter__impl.html">ripple::Ledger::txs_iter_impl</a></div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00130">Ledger.cpp:130</a></div></div>
|
||||
<div class="ttc" id="aoptional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_a75f0aea39c00662bf3a18b263364e422"><div class="ttname"><a href="classripple_1_1STArray.html#a75f0aea39c00662bf3a18b263364e422">ripple::STArray::back</a></div><div class="ttdeci">STObject & back()</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00154">STArray.h:154</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a556228cb60bcf405c225d3f64b7b01ae"><div class="ttname"><a href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">beast::Journal::debug</a></div><div class="ttdeci">Stream debug() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00315">Journal.h:315</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae0f54f8ce649d639bf3e2b295347e17a"><div class="ttname"><a href="namespaceripple.html#ae0f54f8ce649d639bf3e2b295347e17a">ripple::JobType</a></div><div class="ttdeci">JobType</div><div class="ttdef"><b>Definition:</b> <a href="Job_8h_source.html#l00034">Job.h:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_ac58ecac7b057504ea6c1706c0ee04623"><div class="ttname"><a href="namespaceripple_1_1keylet.html#ac58ecac7b057504ea6c1706c0ee04623">ripple::keylet::fees</a></div><div class="ttdeci">Keylet const & fees() noexcept</div><div class="ttdoc">The (fixed) index of the object containing the ledger fees.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00168">Indexes.cpp:168</a></div></div>
|
||||
@@ -1475,9 +1473,9 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_afbe1eed445f88d1c62e0f11bb0289ce5"><div class="ttname"><a href="classripple_1_1Ledger.html#afbe1eed445f88d1c62e0f11bb0289ce5">ripple::Ledger::Ledger</a></div><div class="ttdeci">Ledger(Ledger const &)=delete</div></div>
|
||||
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_html_a68cfe4a8abf683e2d6909f0d96013d8f"><div class="ttname"><a href="classripple_1_1Ledger.html#a68cfe4a8abf683e2d6909f0d96013d8f">ripple::Ledger::digest</a></div><div class="ttdeci">std::optional< digest_type > digest(key_type const &key) const override</div><div class="ttdoc">Return the digest associated with the key.</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00503">Ledger.cpp:503</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a56e0cc999ed456f36e9662a4fcae5061"><div class="ttname"><a href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">ripple::loadLedgerHelper</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadLedgerHelper(LedgerInfo const &info, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01020">Ledger.cpp:1020</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a56e0cc999ed456f36e9662a4fcae5061"><div class="ttname"><a href="namespaceripple.html#a56e0cc999ed456f36e9662a4fcae5061">ripple::loadLedgerHelper</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadLedgerHelper(LedgerInfo const &info, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01019">Ledger.cpp:1019</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_1_1txs__iter__impl_html_a9c6b87e4c02e4538f5c86b8aa8f553a9"><div class="ttname"><a href="classripple_1_1Ledger_1_1txs__iter__impl.html#a9c6b87e4c02e4538f5c86b8aa8f553a9">ripple::Ledger::txs_iter_impl::increment</a></div><div class="ttdeci">void increment() override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00163">Ledger.cpp:163</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_acd1aac04649d694a3524faf2ddebf843"><div class="ttname"><a href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">ripple::STObject::setFieldU32</a></div><div class="ttdeci">void setFieldU32(SField const &field, std::uint32_t)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00632">STObject.cpp:632</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_acd1aac04649d694a3524faf2ddebf843"><div class="ttname"><a href="classripple_1_1STObject.html#acd1aac04649d694a3524faf2ddebf843">ripple::STObject::setFieldU32</a></div><div class="ttdeci">void setFieldU32(SField const &field, std::uint32_t)</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00659">STObject.cpp:659</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Ledger_1_1sles__iter__impl_html_a0adbe4008ec68f0ae01b503356c35abb"><div class="ttname"><a href="classripple_1_1Ledger_1_1sles__iter__impl.html#a0adbe4008ec68f0ae01b503356c35abb">ripple::Ledger::sles_iter_impl::copy</a></div><div class="ttdeci">std::unique_ptr< base_type > copy() const override</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l00100">Ledger.cpp:100</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a1b20cb9afe194d709bbeae9cc15fb180"><div class="ttname"><a href="namespaceripple.html#a1b20cb9afe194d709bbeae9cc15fb180">ripple::sfDisabledValidators</a></div><div class="ttdeci">const SField sfDisabledValidators</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a16991de33a4e83d355de9c387c712a4e"><div class="ttname"><a href="namespaceripple.html#a16991de33a4e83d355de9c387c712a4e">ripple::sfPublicKey</a></div><div class="ttdeci">const SF_VL sfPublicKey</div></div>
|
||||
@@ -1495,7 +1493,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a1f8ed5b1b502a174e0dec8728905cd1e"><div class="ttname"><a href="namespaceripple.html#a1f8ed5b1b502a174e0dec8728905cd1e">ripple::getTxHashes</a></div><div class="ttdeci">std::vector< uint256 > getTxHashes(std::shared_ptr< PgPool > const &pgPool, LedgerIndex seq, Application &app)</div><div class="ttdoc">getTxHashes Returns vector of tx hashes by given ledger sequence</div><div class="ttdef"><b>Definition:</b> <a href="RelationalDBInterface__postgres_8cpp_source.html#l00330">RelationalDBInterface_postgres.cpp:330</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a99725c9e6e92c48aeea784b5db6400fb"><div class="ttname"><a href="namespaceripple.html#a99725c9e6e92c48aeea784b5db6400fb">ripple::sfValidatorToReEnable</a></div><div class="ttdeci">const SF_VL sfValidatorToReEnable</div></div>
|
||||
<div class="ttc" id="astructripple_1_1LedgerInfo_html_a3f7b6fb6d401cfc76e0179b061e02eb4"><div class="ttname"><a href="structripple_1_1LedgerInfo.html#a3f7b6fb6d401cfc76e0179b061e02eb4">ripple::LedgerInfo::parentCloseTime</a></div><div class="ttdeci">NetClock::time_point parentCloseTime</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00093">ReadView.h:93</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a6328c469eb804b05c66c8c140d470ba5"><div class="ttname"><a href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">ripple::flatFetchTransactions</a></div><div class="ttdeci">std::vector< std::pair< std::shared_ptr< STTx const >, std::shared_ptr< STObject const > > > flatFetchTransactions(Application &app, std::vector< uint256 > &nodestoreHashes)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01092">Ledger.cpp:1092</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a6328c469eb804b05c66c8c140d470ba5"><div class="ttname"><a href="namespaceripple.html#a6328c469eb804b05c66c8c140d470ba5">ripple::flatFetchTransactions</a></div><div class="ttdeci">std::vector< std::pair< std::shared_ptr< STTx const >, std::shared_ptr< STObject const > > > flatFetchTransactions(Application &app, std::vector< uint256 > &nodestoreHashes)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01091">Ledger.cpp:1091</a></div></div>
|
||||
<div class="ttc" id="anow_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/system_clock/now.html">std::chrono::system_clock::now</a></div><div class="ttdeci">T now(T... args)</div></div>
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
Reference in New Issue
Block a user