mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-23 12:35:50 +00:00
deploy: 5c8e072b7f
This commit is contained in:
@@ -1949,7 +1949,7 @@ $(function() {
|
||||
<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>  </div>
|
||||
<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> uIndex;</div>
|
||||
<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>  </div>
|
||||
<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>  <span class="keywordflow">if</span> (!uIndex.<a class="code" href="classripple_1_1base__uint.html#aa4e88c771af37069b5cd6490ae010d52">SetHex</a>(entry[jss::index].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>()))</div>
|
||||
<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>  <span class="keywordflow">if</span> (!uIndex.<a class="code" href="classripple_1_1base__uint.html#a88941f6d88609ddcd997293791772aed">parseHex</a>(entry[jss::index].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>()))</div>
|
||||
<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>  {</div>
|
||||
<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Invalid entry in ledger"</span>;</div>
|
||||
<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
||||
@@ -1977,305 +1977,304 @@ $(function() {
|
||||
<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>  }</div>
|
||||
<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>  }</div>
|
||||
<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>  </div>
|
||||
<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>  loadLedger->stateMap().flushDirty(</div>
|
||||
<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  <a class="code" href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3a65cfe147458030070724c8b3795e508f">hotACCOUNT_NODE</a>, loadLedger->info().seq);</div>
|
||||
<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>  </div>
|
||||
<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  loadLedger->setAccepted(</div>
|
||||
<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  closeTime, closeTimeResolution, !closeTimeEstimated, *<a class="code" href="classripple_1_1ApplicationImp.html#a1d9e03d4db028fb8d35e97c49a01f9d8">config_</a>);</div>
|
||||
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>  </div>
|
||||
<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>  <span class="keywordflow">return</span> loadLedger;</div>
|
||||
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  }</div>
|
||||
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> <span class="keyword">const</span>& x)</div>
|
||||
<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>  {</div>
|
||||
<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger contains invalid data: "</span> << x.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
||||
<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>  }</div>
|
||||
<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span> }</div>
|
||||
<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>  </div>
|
||||
<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span> <span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a name="l01925"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#a92b2db846b4071ffc3f63baa299de7be"> 1925</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#a92b2db846b4071ffc3f63baa299de7be">ApplicationImp::loadOldLedger</a>(</div>
|
||||
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& ledgerID,</div>
|
||||
<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>  <span class="keywordtype">bool</span> replay,</div>
|
||||
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>  <span class="keywordtype">bool</span> isFileName)</div>
|
||||
<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span> {</div>
|
||||
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>  <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>  {</div>
|
||||
<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger const></a> loadLedger, replayLedger;</div>
|
||||
<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>  </div>
|
||||
<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>  <span class="keywordflow">if</span> (isFileName)</div>
|
||||
<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>  {</div>
|
||||
<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>  <span class="keywordflow">if</span> (!ledgerID.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>  loadLedger = <a class="code" href="classripple_1_1ApplicationImp.html#a92cbe78002001fb6211e97947d5df91d">loadLedgerFromFile</a>(ledgerID);</div>
|
||||
<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>  }</div>
|
||||
<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ledgerID.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>() == 64)</div>
|
||||
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>  {</div>
|
||||
<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> hash;</div>
|
||||
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>  </div>
|
||||
<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>  <span class="keywordflow">if</span> (hash.<a class="code" href="classripple_1_1base__uint.html#aa4e88c771af37069b5cd6490ae010d52">SetHex</a>(ledgerID))</div>
|
||||
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  {</div>
|
||||
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>  loadLedger = <a class="code" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">loadByHash</a>(hash, *<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>  </div>
|
||||
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>  {</div>
|
||||
<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>  <span class="comment">// Try to build the ledger from the back end</span></div>
|
||||
<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>  <span class="keyword">auto</span> il = std::make_shared<InboundLedger>(</div>
|
||||
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>  *<span class="keyword">this</span>,</div>
|
||||
<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>  hash,</div>
|
||||
<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>  0,</div>
|
||||
<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>  <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b">InboundLedger::Reason::GENERIC</a>,</div>
|
||||
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>  <a class="code" href="namespaceripple.html#ac70521ab6e1277870a9e400e7a08e937">stopwatch</a>());</div>
|
||||
<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>  <span class="keywordflow">if</span> (il->checkLocal())</div>
|
||||
<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>  loadLedger = il->getLedger();</div>
|
||||
<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>  }</div>
|
||||
<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>  }</div>
|
||||
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>  }</div>
|
||||
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ledgerID.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>() || boost::iequals(ledgerID, <span class="stringliteral">"latest"</span>))</div>
|
||||
<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>  {</div>
|
||||
<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>  loadLedger = <a class="code" href="classripple_1_1ApplicationImp.html#a2a1919f5396ea66098a6c326c15e9ed5">getLastFullLedger</a>();</div>
|
||||
<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>  }</div>
|
||||
<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>  {</div>
|
||||
<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>  <span class="comment">// assume by sequence</span></div>
|
||||
<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> index;</div>
|
||||
<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>  </div>
|
||||
<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>  <span class="keywordflow">if</span> (<a class="code" href="namespacebeast.html#aeb241ed2f4422ea57283956ca58c5d42">beast::lexicalCastChecked</a>(index, ledgerID))</div>
|
||||
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>  loadLedger = <a class="code" href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d">loadByIndex</a>(index, *<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>  }</div>
|
||||
<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>  </div>
|
||||
<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>  </div>
|
||||
<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>  <span class="keywordflow">if</span> (replay)</div>
|
||||
<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>  {</div>
|
||||
<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>  <span class="comment">// Replay a ledger close with same prior ledger and transactions</span></div>
|
||||
<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>  </div>
|
||||
<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>  <span class="comment">// this ledger holds the transactions we want to replay</span></div>
|
||||
<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>  replayLedger = loadLedger;</div>
|
||||
<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>  </div>
|
||||
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Loading parent ledger"</span>;</div>
|
||||
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>  </div>
|
||||
<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>  loadLedger = <a class="code" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">loadByHash</a>(replayLedger->info().parentHash, *<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>  {</div>
|
||||
<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>())</div>
|
||||
<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>  << <span class="stringliteral">"Loading parent ledger from node store"</span>;</div>
|
||||
<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>  </div>
|
||||
<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>  <span class="comment">// Try to build the ledger from the back end</span></div>
|
||||
<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>  <span class="keyword">auto</span> il = std::make_shared<InboundLedger>(</div>
|
||||
<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>  *<span class="keyword">this</span>,</div>
|
||||
<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>  replayLedger->info().parentHash,</div>
|
||||
<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>  0,</div>
|
||||
<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>  <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b">InboundLedger::Reason::GENERIC</a>,</div>
|
||||
<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>  <a class="code" href="namespaceripple.html#ac70521ab6e1277870a9e400e7a08e937">stopwatch</a>());</div>
|
||||
<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>  </div>
|
||||
<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>  <span class="keywordflow">if</span> (il->checkLocal())</div>
|
||||
<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>  loadLedger = il->getLedger();</div>
|
||||
<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>  </div>
|
||||
<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>  {</div>
|
||||
<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Replay ledger missing/damaged"</span>;</div>
|
||||
<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>  }</div>
|
||||
<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>  }</div>
|
||||
<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>  }</div>
|
||||
<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>  <span class="keyword">using namespace </span>std::chrono_literals;</div>
|
||||
<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>  <span class="keyword">using namespace </span>date;</div>
|
||||
<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>  <span class="keyword">static</span> constexpr <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> ledgerWarnTimePoint{</div>
|
||||
<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>  sys_days{January / 1 / 2018} - sys_days{January / 1 / 2000}};</div>
|
||||
<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>  <span class="keywordflow">if</span> (loadLedger->info().closeTime < ledgerWarnTimePoint)</div>
|
||||
<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>  {</div>
|
||||
<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>  << <span class="stringliteral">"\n\n*** WARNING ***\n"</span></div>
|
||||
<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>  <span class="stringliteral">"You are replaying a ledger from before "</span></div>
|
||||
<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>  << <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(ledgerWarnTimePoint)</div>
|
||||
<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>  << <span class="stringliteral">" UTC.\n"</span></div>
|
||||
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>  <span class="stringliteral">"This replay will not handle your ledger as it was "</span></div>
|
||||
<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>  <span class="stringliteral">"originally "</span></div>
|
||||
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>  <span class="stringliteral">"handled.\nConsider running an earlier version of rippled "</span></div>
|
||||
<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>  <span class="stringliteral">"to "</span></div>
|
||||
<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>  <span class="stringliteral">"get the older rules.\n*** CONTINUING ***\n"</span>;</div>
|
||||
<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>  }</div>
|
||||
<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>  </div>
|
||||
<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Loading ledger "</span> << loadLedger->info().hash</div>
|
||||
<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>  << <span class="stringliteral">" seq:"</span> << loadLedger->info().seq;</div>
|
||||
<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>  </div>
|
||||
<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>  <span class="keywordflow">if</span> (loadLedger->info().accountHash.isZero())</div>
|
||||
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>  {</div>
|
||||
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger is empty."</span>;</div>
|
||||
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>  }</div>
|
||||
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>  </div>
|
||||
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>  <span class="keywordflow">if</span> (!loadLedger->walkLedger(<a class="code" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">journal</a>(<span class="stringliteral">"Ledger"</span>)))</div>
|
||||
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>  {</div>
|
||||
<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger is missing nodes."</span>;</div>
|
||||
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>  }</div>
|
||||
<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>  </div>
|
||||
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>  <span class="keywordflow">if</span> (!loadLedger->assertSane(<a class="code" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">journal</a>(<span class="stringliteral">"Ledger"</span>)))</div>
|
||||
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>  {</div>
|
||||
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger is not sane."</span>;</div>
|
||||
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>  }</div>
|
||||
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>  </div>
|
||||
<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->setLedgerRangePresent(</div>
|
||||
<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>  loadLedger->info().seq, loadLedger->info().seq);</div>
|
||||
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>  </div>
|
||||
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->switchLCL(loadLedger);</div>
|
||||
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>  loadLedger->setValidated();</div>
|
||||
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->setFullLedger(loadLedger, <span class="keyword">true</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a16f1db3fd36ca74e20ba24af5135908f">openLedger_</a>.emplace(</div>
|
||||
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>  loadLedger, <a class="code" href="classripple_1_1ApplicationImp.html#aec3844d1b16bf5d4ee07bf707ae62d23">cachedSLEs_</a>, <a class="code" href="classripple_1_1ApplicationImp.html#aeb56f5eec262129621b143c65f353744">logs_</a>->journal(<span class="stringliteral">"OpenLedger"</span>));</div>
|
||||
<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>  </div>
|
||||
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>  <span class="keywordflow">if</span> (replay)</div>
|
||||
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>  {</div>
|
||||
<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>  <span class="comment">// inject transaction(s) from the replayLedger into our open ledger</span></div>
|
||||
<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>  <span class="comment">// and build replay structure</span></div>
|
||||
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>  <span class="keyword">auto</span> replayData =</div>
|
||||
<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>  std::make_unique<LedgerReplay>(loadLedger, replayLedger);</div>
|
||||
<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>  </div>
|
||||
<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& [_, tx] : replayData->orderedTxns())</div>
|
||||
<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>  {</div>
|
||||
<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>  (void)_;</div>
|
||||
<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>  <span class="keyword">auto</span> txID = tx->getTransactionID();</div>
|
||||
<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>  </div>
|
||||
<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>  <span class="keyword">auto</span> s = std::make_shared<Serializer>();</div>
|
||||
<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>  tx->add(*s);</div>
|
||||
<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>  </div>
|
||||
<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>  <a class="code" href="namespaceripple.html#ab5fadc2b2814a10d35c00c0a8241fbe7">forceValidity</a>(<a class="code" href="classripple_1_1ApplicationImp.html#a7004f42edf42bc9920bc10227dc7e05b">getHashRouter</a>(), txID, <a class="code" href="namespaceripple.html#abcad59b0151763334cc398263373bcdda5ef9dd0687717427ebe8c5e3bcfb7ec1">Validity::SigGoodOnly</a>);</div>
|
||||
<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>  </div>
|
||||
<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a16f1db3fd36ca74e20ba24af5135908f">openLedger_</a>->modify(</div>
|
||||
<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>  [&txID, &s](<a class="code" href="classripple_1_1OpenView.html">OpenView</a>& view, <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j) {</div>
|
||||
<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>  view.<a class="code" href="classripple_1_1OpenView.html#ab230a32cbeedf37d8b30bbec8a91961d">rawTxInsert</a>(txID, std::move(s), <span class="keyword">nullptr</span>);</div>
|
||||
<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>  });</div>
|
||||
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>  }</div>
|
||||
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>  </div>
|
||||
<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->takeReplay(std::move(replayData));</div>
|
||||
<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>  }</div>
|
||||
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>  }</div>
|
||||
<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>  <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1SHAMapMissingNode.html">SHAMapMissingNode</a> <span class="keyword">const</span>& mn)</div>
|
||||
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>  {</div>
|
||||
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>  << <span class="stringliteral">"While loading specified ledger: "</span> << mn.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>  }</div>
|
||||
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>  <span class="keywordflow">catch</span> (boost::bad_lexical_cast&)</div>
|
||||
<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>  {</div>
|
||||
<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>  << <span class="stringliteral">"Ledger specified '"</span> << ledgerID << <span class="stringliteral">"' is not valid"</span>;</div>
|
||||
<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>  }</div>
|
||||
<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>  </div>
|
||||
<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span> }</div>
|
||||
<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>  </div>
|
||||
<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span> <span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a name="l02106"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#a695ccd48be7dda56348612a8b2695c54"> 2106</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#a695ccd48be7dda56348612a8b2695c54">ApplicationImp::serverOkay</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>& reason)</div>
|
||||
<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span> {</div>
|
||||
<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1ApplicationImp.html#aef5f58570dfdbe20b30287568f00a9f7">config</a>().ELB_SUPPORT)</div>
|
||||
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>  </div>
|
||||
<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#a44f718f967d39d838b675242096d6642">isShutdown</a>())</div>
|
||||
<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>  {</div>
|
||||
<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>  reason = <span class="stringliteral">"Server is shutting down"</span>;</div>
|
||||
<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>  }</div>
|
||||
<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>  </div>
|
||||
<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#ac0353574d72fb16f6abf651c48b7c48e">getOPs</a>().isNeedNetworkLedger())</div>
|
||||
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>  {</div>
|
||||
<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>  reason = <span class="stringliteral">"Not synchronized with network yet"</span>;</div>
|
||||
<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>  }</div>
|
||||
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>  </div>
|
||||
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#ac0353574d72fb16f6abf651c48b7c48e">getOPs</a>().getOperatingMode() < <a class="code" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510af0be1f77b2d12fe3d6424fbf9eecc109">OperatingMode::SYNCING</a>)</div>
|
||||
<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>  {</div>
|
||||
<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>  reason = <span class="stringliteral">"Not synchronized with network"</span>;</div>
|
||||
<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>  }</div>
|
||||
<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>  </div>
|
||||
<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1ApplicationImp.html#a0c54a2fd4cfd80f52bf3b31ee780a294">getLedgerMaster</a>().isCaughtUp(reason))</div>
|
||||
<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>  </div>
|
||||
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#afb0ca6238ab470a76a4cb27b5a16b8cd">getFeeTrack</a>().isLoadedLocal())</div>
|
||||
<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>  {</div>
|
||||
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>  reason = <span class="stringliteral">"Too much load"</span>;</div>
|
||||
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>  }</div>
|
||||
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>  </div>
|
||||
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#ac0353574d72fb16f6abf651c48b7c48e">getOPs</a>().isAmendmentBlocked())</div>
|
||||
<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>  {</div>
|
||||
<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>  reason = <span class="stringliteral">"Server version too old"</span>;</div>
|
||||
<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>  }</div>
|
||||
<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>  </div>
|
||||
<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span> }</div>
|
||||
<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>  </div>
|
||||
<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span> <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a></div>
|
||||
<div class="line"><a name="l02148"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad"> 2148</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">ApplicationImp::journal</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& <a class="code" href="classbeast_1_1PropertyStream_1_1Source.html#a5672372869d3a59c7cd2f7ce3056ae33">name</a>)</div>
|
||||
<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span> {</div>
|
||||
<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ApplicationImp.html#aeb56f5eec262129621b143c65f353744">logs_</a>->journal(<a class="code" href="classbeast_1_1PropertyStream_1_1Source.html#a5672372869d3a59c7cd2f7ce3056ae33">name</a>);</div>
|
||||
<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span> }</div>
|
||||
<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>  </div>
|
||||
<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span> <span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a name="l02154"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#a4c949b429439968e259e51d9dbec2d53"> 2154</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#a4c949b429439968e259e51d9dbec2d53">ApplicationImp::nodeToShards</a>()</div>
|
||||
<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span> {</div>
|
||||
<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>  assert(<a class="code" href="classripple_1_1ApplicationImp.html#a64565a8558f0fdd1bb2f164ca2b77142">overlay_</a>);</div>
|
||||
<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>  assert(!<a class="code" href="classripple_1_1ApplicationImp.html#a1d9e03d4db028fb8d35e97c49a01f9d8">config_</a>->standalone());</div>
|
||||
<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>  </div>
|
||||
<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#a1d9e03d4db028fb8d35e97c49a01f9d8">config_</a>->section(<a class="code" href="structripple_1_1ConfigSection.html#abab87cd32670610e64b43124c381775c">ConfigSection::shardDatabase</a>()).empty())</div>
|
||||
<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>  {</div>
|
||||
<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>  << <span class="stringliteral">"The [shard_db] configuration setting must be set"</span>;</div>
|
||||
<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>  }</div>
|
||||
<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1ApplicationImp.html#ab34b75fdd879f1fef726db73b1d5e436">shardStore_</a>)</div>
|
||||
<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>  {</div>
|
||||
<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Invalid [shard_db] configuration"</span>;</div>
|
||||
<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>  }</div>
|
||||
<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>  <a class="code" href="classripple_1_1ApplicationImp.html#ab34b75fdd879f1fef726db73b1d5e436">shardStore_</a>->import(<a class="code" href="classripple_1_1ApplicationImp.html#a73bcfdb2fa60c019b3d97a440e8155b6">getNodeStore</a>());</div>
|
||||
<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span> }</div>
|
||||
<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>  </div>
|
||||
<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l02175"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#aab0c06671c109dc2b487a1aab6dcb168"> 2175</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#aab0c06671c109dc2b487a1aab6dcb168">ApplicationImp::setMaxDisallowedLedger</a>()</div>
|
||||
<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span> {</div>
|
||||
<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>  boost::optional<LedgerIndex> seq;</div>
|
||||
<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>  {</div>
|
||||
<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>  <span class="keyword">auto</span> db = <a class="code" href="classripple_1_1ApplicationImp.html#a6faf96850e1e168ded33643a7740de80">getLedgerDB</a>().<a class="code" href="classripple_1_1DatabaseCon.html#a16c6f729c6462f6200b724543f5c67bc">checkoutDb</a>();</div>
|
||||
<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>  *db << <span class="stringliteral">"SELECT MAX(LedgerSeq) FROM Ledgers;"</span>, soci::into(seq);</div>
|
||||
<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>  }</div>
|
||||
<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>  <span class="keywordflow">if</span> (seq)</div>
|
||||
<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a99e558bb1e921cc7770ea335724acdb9">maxDisallowedLedger_</a> = *seq;</div>
|
||||
<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>  </div>
|
||||
<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
|
||||
<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>  << <span class="stringliteral">"Max persisted ledger is "</span> << <a class="code" href="classripple_1_1ApplicationImp.html#a99e558bb1e921cc7770ea335724acdb9">maxDisallowedLedger_</a>;</div>
|
||||
<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span> }</div>
|
||||
<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>  </div>
|
||||
<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>  </div>
|
||||
<div class="line"><a name="l02191"></a><span class="lineno"><a class="line" href="classripple_1_1Application.html#a8f3b40098b20712612de1b46a65b5156"> 2191</a></span> <a class="code" href="classripple_1_1Application.html#a8f3b40098b20712612de1b46a65b5156">Application::Application</a>() : <a class="code" href="namespacebeast.html">beast</a>::PropertyStream::<a class="code" href="classbeast_1_1PropertyStream_1_1Source.html#a1dd058a9799aec943c4f52aa263f6242">Source</a>(<span class="stringliteral">"app"</span>)</div>
|
||||
<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> {</div>
|
||||
<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span> }</div>
|
||||
<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>  </div>
|
||||
<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>  </div>
|
||||
<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<Application></a></div>
|
||||
<div class="line"><a name="l02198"></a><span class="lineno"><a class="line" href="namespaceripple.html#a37eda33d77f068d8788e5a5a81a7cc77"> 2198</a></span> <a class="code" href="namespaceripple.html#a37eda33d77f068d8788e5a5a81a7cc77">make_Application</a>(</div>
|
||||
<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<Config></a> config,</div>
|
||||
<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<Logs></a> logs,</div>
|
||||
<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<TimeKeeper></a> timeKeeper)</div>
|
||||
<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span> {</div>
|
||||
<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>  <span class="keywordflow">return</span> std::make_unique<ApplicationImp>(</div>
|
||||
<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>  std::move(config), std::move(logs), std::move(timeKeeper));</div>
|
||||
<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span> }</div>
|
||||
<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>  </div>
|
||||
<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>  loadLedger->stateMap().flushDirty(<a class="code" href="namespaceripple.html#a57d7e7b27df7e719fdf5569f96be60a3a65cfe147458030070724c8b3795e508f">hotACCOUNT_NODE</a>);</div>
|
||||
<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>  </div>
|
||||
<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>  loadLedger->setAccepted(</div>
|
||||
<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>  closeTime, closeTimeResolution, !closeTimeEstimated, *<a class="code" href="classripple_1_1ApplicationImp.html#a1d9e03d4db028fb8d35e97c49a01f9d8">config_</a>);</div>
|
||||
<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>  </div>
|
||||
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>  <span class="keywordflow">return</span> loadLedger;</div>
|
||||
<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>  }</div>
|
||||
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  <span class="keywordflow">catch</span> (<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception.html">std::exception</a> <span class="keyword">const</span>& x)</div>
|
||||
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>  {</div>
|
||||
<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger contains invalid data: "</span> << x.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
||||
<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>  }</div>
|
||||
<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span> }</div>
|
||||
<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>  </div>
|
||||
<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span> <span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a name="l01924"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#a92b2db846b4071ffc3f63baa299de7be"> 1924</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#a92b2db846b4071ffc3f63baa299de7be">ApplicationImp::loadOldLedger</a>(</div>
|
||||
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& ledgerID,</div>
|
||||
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>  <span class="keywordtype">bool</span> replay,</div>
|
||||
<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>  <span class="keywordtype">bool</span> isFileName)</div>
|
||||
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span> {</div>
|
||||
<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>  <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>  {</div>
|
||||
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger const></a> loadLedger, replayLedger;</div>
|
||||
<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  </div>
|
||||
<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>  <span class="keywordflow">if</span> (isFileName)</div>
|
||||
<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>  {</div>
|
||||
<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>  <span class="keywordflow">if</span> (!ledgerID.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>())</div>
|
||||
<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>  loadLedger = <a class="code" href="classripple_1_1ApplicationImp.html#a92cbe78002001fb6211e97947d5df91d">loadLedgerFromFile</a>(ledgerID);</div>
|
||||
<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>  }</div>
|
||||
<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ledgerID.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>() == 64)</div>
|
||||
<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>  {</div>
|
||||
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> hash;</div>
|
||||
<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>  </div>
|
||||
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>  <span class="keywordflow">if</span> (hash.<a class="code" href="classripple_1_1base__uint.html#a88941f6d88609ddcd997293791772aed">parseHex</a>(ledgerID))</div>
|
||||
<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>  {</div>
|
||||
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  loadLedger = <a class="code" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">loadByHash</a>(hash, *<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>  </div>
|
||||
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>  {</div>
|
||||
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>  <span class="comment">// Try to build the ledger from the back end</span></div>
|
||||
<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>  <span class="keyword">auto</span> il = std::make_shared<InboundLedger>(</div>
|
||||
<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>  *<span class="keyword">this</span>,</div>
|
||||
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>  hash,</div>
|
||||
<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>  0,</div>
|
||||
<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>  <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b">InboundLedger::Reason::GENERIC</a>,</div>
|
||||
<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>  <a class="code" href="namespaceripple.html#ac70521ab6e1277870a9e400e7a08e937">stopwatch</a>());</div>
|
||||
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>  <span class="keywordflow">if</span> (il->checkLocal())</div>
|
||||
<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>  loadLedger = il->getLedger();</div>
|
||||
<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>  }</div>
|
||||
<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>  }</div>
|
||||
<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>  }</div>
|
||||
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ledgerID.<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>() || boost::iequals(ledgerID, <span class="stringliteral">"latest"</span>))</div>
|
||||
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>  {</div>
|
||||
<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>  loadLedger = <a class="code" href="classripple_1_1ApplicationImp.html#a2a1919f5396ea66098a6c326c15e9ed5">getLastFullLedger</a>();</div>
|
||||
<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>  }</div>
|
||||
<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>  {</div>
|
||||
<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>  <span class="comment">// assume by sequence</span></div>
|
||||
<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> index;</div>
|
||||
<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>  </div>
|
||||
<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>  <span class="keywordflow">if</span> (<a class="code" href="namespacebeast.html#aeb241ed2f4422ea57283956ca58c5d42">beast::lexicalCastChecked</a>(index, ledgerID))</div>
|
||||
<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>  loadLedger = <a class="code" href="namespaceripple.html#a22adb38923282bf7dbb38655afdb381d">loadByIndex</a>(index, *<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>  }</div>
|
||||
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>  </div>
|
||||
<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>  </div>
|
||||
<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>  <span class="keywordflow">if</span> (replay)</div>
|
||||
<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>  {</div>
|
||||
<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>  <span class="comment">// Replay a ledger close with same prior ledger and transactions</span></div>
|
||||
<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>  </div>
|
||||
<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>  <span class="comment">// this ledger holds the transactions we want to replay</span></div>
|
||||
<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>  replayLedger = loadLedger;</div>
|
||||
<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>  </div>
|
||||
<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Loading parent ledger"</span>;</div>
|
||||
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>  </div>
|
||||
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>  loadLedger = <a class="code" href="namespaceripple.html#a729619e7a3a0d92226e7d52347ff2a5e">loadByHash</a>(replayLedger->info().parentHash, *<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>  {</div>
|
||||
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>())</div>
|
||||
<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>  << <span class="stringliteral">"Loading parent ledger from node store"</span>;</div>
|
||||
<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>  </div>
|
||||
<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>  <span class="comment">// Try to build the ledger from the back end</span></div>
|
||||
<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>  <span class="keyword">auto</span> il = std::make_shared<InboundLedger>(</div>
|
||||
<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>  *<span class="keyword">this</span>,</div>
|
||||
<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>  replayLedger->info().parentHash,</div>
|
||||
<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>  0,</div>
|
||||
<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>  <a class="code" href="classripple_1_1InboundLedger.html#a3e8d7f8b5fa089a184dcc9b00b6e0da7ac942dc2a9f958acddc67e11472d3ca0b">InboundLedger::Reason::GENERIC</a>,</div>
|
||||
<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>  <a class="code" href="namespaceripple.html#ac70521ab6e1277870a9e400e7a08e937">stopwatch</a>());</div>
|
||||
<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>  </div>
|
||||
<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>  <span class="keywordflow">if</span> (il->checkLocal())</div>
|
||||
<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>  loadLedger = il->getLedger();</div>
|
||||
<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>  </div>
|
||||
<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>  <span class="keywordflow">if</span> (!loadLedger)</div>
|
||||
<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>  {</div>
|
||||
<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Replay ledger missing/damaged"</span>;</div>
|
||||
<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>  }</div>
|
||||
<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>  }</div>
|
||||
<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>  }</div>
|
||||
<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>  <span class="keyword">using namespace </span>std::chrono_literals;</div>
|
||||
<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>  <span class="keyword">using namespace </span>date;</div>
|
||||
<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>  <span class="keyword">static</span> constexpr <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> ledgerWarnTimePoint{</div>
|
||||
<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>  sys_days{January / 1 / 2018} - sys_days{January / 1 / 2000}};</div>
|
||||
<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>  <span class="keywordflow">if</span> (loadLedger->info().closeTime < ledgerWarnTimePoint)</div>
|
||||
<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>  {</div>
|
||||
<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>  << <span class="stringliteral">"\n\n*** WARNING ***\n"</span></div>
|
||||
<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>  <span class="stringliteral">"You are replaying a ledger from before "</span></div>
|
||||
<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>  << <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(ledgerWarnTimePoint)</div>
|
||||
<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>  << <span class="stringliteral">" UTC.\n"</span></div>
|
||||
<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>  <span class="stringliteral">"This replay will not handle your ledger as it was "</span></div>
|
||||
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>  <span class="stringliteral">"originally "</span></div>
|
||||
<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>  <span class="stringliteral">"handled.\nConsider running an earlier version of rippled "</span></div>
|
||||
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>  <span class="stringliteral">"to "</span></div>
|
||||
<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>  <span class="stringliteral">"get the older rules.\n*** CONTINUING ***\n"</span>;</div>
|
||||
<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>  }</div>
|
||||
<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>  </div>
|
||||
<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Loading ledger "</span> << loadLedger->info().hash</div>
|
||||
<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>  << <span class="stringliteral">" seq:"</span> << loadLedger->info().seq;</div>
|
||||
<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>  </div>
|
||||
<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>  <span class="keywordflow">if</span> (loadLedger->info().accountHash.isZero())</div>
|
||||
<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>  {</div>
|
||||
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger is empty."</span>;</div>
|
||||
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>  }</div>
|
||||
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>  </div>
|
||||
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>  <span class="keywordflow">if</span> (!loadLedger->walkLedger(<a class="code" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">journal</a>(<span class="stringliteral">"Ledger"</span>)))</div>
|
||||
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>  {</div>
|
||||
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger is missing nodes."</span>;</div>
|
||||
<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>  }</div>
|
||||
<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>  </div>
|
||||
<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>  <span class="keywordflow">if</span> (!loadLedger->assertSensible(<a class="code" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">journal</a>(<span class="stringliteral">"Ledger"</span>)))</div>
|
||||
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>  {</div>
|
||||
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Ledger is not sensible."</span>;</div>
|
||||
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>  }</div>
|
||||
<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>  </div>
|
||||
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->setLedgerRangePresent(</div>
|
||||
<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>  loadLedger->info().seq, loadLedger->info().seq);</div>
|
||||
<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>  </div>
|
||||
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->switchLCL(loadLedger);</div>
|
||||
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>  loadLedger->setValidated();</div>
|
||||
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->setFullLedger(loadLedger, <span class="keyword">true</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a16f1db3fd36ca74e20ba24af5135908f">openLedger_</a>.emplace(</div>
|
||||
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>  loadLedger, <a class="code" href="classripple_1_1ApplicationImp.html#aec3844d1b16bf5d4ee07bf707ae62d23">cachedSLEs_</a>, <a class="code" href="classripple_1_1ApplicationImp.html#aeb56f5eec262129621b143c65f353744">logs_</a>->journal(<span class="stringliteral">"OpenLedger"</span>));</div>
|
||||
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>  </div>
|
||||
<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>  <span class="keywordflow">if</span> (replay)</div>
|
||||
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>  {</div>
|
||||
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>  <span class="comment">// inject transaction(s) from the replayLedger into our open ledger</span></div>
|
||||
<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>  <span class="comment">// and build replay structure</span></div>
|
||||
<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>  <span class="keyword">auto</span> replayData =</div>
|
||||
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>  std::make_unique<LedgerReplay>(loadLedger, replayLedger);</div>
|
||||
<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>  </div>
|
||||
<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& [_, tx] : replayData->orderedTxns())</div>
|
||||
<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>  {</div>
|
||||
<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>  (void)_;</div>
|
||||
<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>  <span class="keyword">auto</span> txID = tx->getTransactionID();</div>
|
||||
<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>  </div>
|
||||
<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>  <span class="keyword">auto</span> s = std::make_shared<Serializer>();</div>
|
||||
<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>  tx->add(*s);</div>
|
||||
<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>  </div>
|
||||
<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>  <a class="code" href="namespaceripple.html#ab5fadc2b2814a10d35c00c0a8241fbe7">forceValidity</a>(<a class="code" href="classripple_1_1ApplicationImp.html#a7004f42edf42bc9920bc10227dc7e05b">getHashRouter</a>(), txID, <a class="code" href="namespaceripple.html#abcad59b0151763334cc398263373bcdda5ef9dd0687717427ebe8c5e3bcfb7ec1">Validity::SigGoodOnly</a>);</div>
|
||||
<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>  </div>
|
||||
<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a16f1db3fd36ca74e20ba24af5135908f">openLedger_</a>->modify(</div>
|
||||
<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>  [&txID, &s](<a class="code" href="classripple_1_1OpenView.html">OpenView</a>& view, <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> j) {</div>
|
||||
<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>  view.<a class="code" href="classripple_1_1OpenView.html#ab230a32cbeedf37d8b30bbec8a91961d">rawTxInsert</a>(txID, std::move(s), <span class="keyword">nullptr</span>);</div>
|
||||
<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>  });</div>
|
||||
<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>  }</div>
|
||||
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>  </div>
|
||||
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">m_ledgerMaster</a>->takeReplay(std::move(replayData));</div>
|
||||
<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>  }</div>
|
||||
<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>  }</div>
|
||||
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>  <span class="keywordflow">catch</span> (<a class="code" href="classripple_1_1SHAMapMissingNode.html">SHAMapMissingNode</a> <span class="keyword">const</span>& mn)</div>
|
||||
<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>  {</div>
|
||||
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>  << <span class="stringliteral">"While loading specified ledger: "</span> << mn.<a class="codeRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>  }</div>
|
||||
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>  <span class="keywordflow">catch</span> (boost::bad_lexical_cast&)</div>
|
||||
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>  {</div>
|
||||
<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>  << <span class="stringliteral">"Ledger specified '"</span> << ledgerID << <span class="stringliteral">"' is not valid"</span>;</div>
|
||||
<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>  }</div>
|
||||
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>  </div>
|
||||
<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span> }</div>
|
||||
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>  </div>
|
||||
<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span> <span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a name="l02105"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#a695ccd48be7dda56348612a8b2695c54"> 2105</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#a695ccd48be7dda56348612a8b2695c54">ApplicationImp::serverOkay</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>& reason)</div>
|
||||
<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span> {</div>
|
||||
<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1ApplicationImp.html#aef5f58570dfdbe20b30287568f00a9f7">config</a>().ELB_SUPPORT)</div>
|
||||
<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>  </div>
|
||||
<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#a44f718f967d39d838b675242096d6642">isShutdown</a>())</div>
|
||||
<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>  {</div>
|
||||
<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>  reason = <span class="stringliteral">"Server is shutting down"</span>;</div>
|
||||
<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>  }</div>
|
||||
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>  </div>
|
||||
<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#ac0353574d72fb16f6abf651c48b7c48e">getOPs</a>().isNeedNetworkLedger())</div>
|
||||
<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>  {</div>
|
||||
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>  reason = <span class="stringliteral">"Not synchronized with network yet"</span>;</div>
|
||||
<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>  }</div>
|
||||
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>  </div>
|
||||
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#ac0353574d72fb16f6abf651c48b7c48e">getOPs</a>().getOperatingMode() < <a class="code" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510af0be1f77b2d12fe3d6424fbf9eecc109">OperatingMode::SYNCING</a>)</div>
|
||||
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>  {</div>
|
||||
<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>  reason = <span class="stringliteral">"Not synchronized with network"</span>;</div>
|
||||
<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>  }</div>
|
||||
<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>  </div>
|
||||
<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1ApplicationImp.html#a0c54a2fd4cfd80f52bf3b31ee780a294">getLedgerMaster</a>().isCaughtUp(reason))</div>
|
||||
<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>  </div>
|
||||
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#afb0ca6238ab470a76a4cb27b5a16b8cd">getFeeTrack</a>().isLoadedLocal())</div>
|
||||
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>  {</div>
|
||||
<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>  reason = <span class="stringliteral">"Too much load"</span>;</div>
|
||||
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>  }</div>
|
||||
<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>  </div>
|
||||
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#ac0353574d72fb16f6abf651c48b7c48e">getOPs</a>().isAmendmentBlocked())</div>
|
||||
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>  {</div>
|
||||
<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>  reason = <span class="stringliteral">"Server version too old"</span>;</div>
|
||||
<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>  }</div>
|
||||
<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>  </div>
|
||||
<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span> }</div>
|
||||
<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>  </div>
|
||||
<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span> <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a></div>
|
||||
<div class="line"><a name="l02147"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad"> 2147</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">ApplicationImp::journal</a>(<a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>& <a class="code" href="classbeast_1_1PropertyStream_1_1Source.html#a5672372869d3a59c7cd2f7ce3056ae33">name</a>)</div>
|
||||
<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span> {</div>
|
||||
<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>  <span class="keywordflow">return</span> <a class="code" href="classripple_1_1ApplicationImp.html#aeb56f5eec262129621b143c65f353744">logs_</a>->journal(<a class="code" href="classbeast_1_1PropertyStream_1_1Source.html#a5672372869d3a59c7cd2f7ce3056ae33">name</a>);</div>
|
||||
<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span> }</div>
|
||||
<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>  </div>
|
||||
<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span> <span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a name="l02153"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#a4c949b429439968e259e51d9dbec2d53"> 2153</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#a4c949b429439968e259e51d9dbec2d53">ApplicationImp::nodeToShards</a>()</div>
|
||||
<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span> {</div>
|
||||
<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>  assert(<a class="code" href="classripple_1_1ApplicationImp.html#a64565a8558f0fdd1bb2f164ca2b77142">overlay_</a>);</div>
|
||||
<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>  assert(!<a class="code" href="classripple_1_1ApplicationImp.html#a1d9e03d4db028fb8d35e97c49a01f9d8">config_</a>->standalone());</div>
|
||||
<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>  </div>
|
||||
<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1ApplicationImp.html#a1d9e03d4db028fb8d35e97c49a01f9d8">config_</a>->section(<a class="code" href="structripple_1_1ConfigSection.html#abab87cd32670610e64b43124c381775c">ConfigSection::shardDatabase</a>()).empty())</div>
|
||||
<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>  {</div>
|
||||
<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>())</div>
|
||||
<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>  << <span class="stringliteral">"The [shard_db] configuration setting must be set"</span>;</div>
|
||||
<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>  }</div>
|
||||
<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1ApplicationImp.html#ab34b75fdd879f1fef726db73b1d5e436">shardStore_</a>)</div>
|
||||
<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>  {</div>
|
||||
<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Invalid [shard_db] configuration"</span>;</div>
|
||||
<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>  }</div>
|
||||
<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>  <a class="code" href="classripple_1_1ApplicationImp.html#ab34b75fdd879f1fef726db73b1d5e436">shardStore_</a>->import(<a class="code" href="classripple_1_1ApplicationImp.html#a73bcfdb2fa60c019b3d97a440e8155b6">getNodeStore</a>());</div>
|
||||
<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span> }</div>
|
||||
<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>  </div>
|
||||
<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l02174"></a><span class="lineno"><a class="line" href="classripple_1_1ApplicationImp.html#aab0c06671c109dc2b487a1aab6dcb168"> 2174</a></span> <a class="code" href="classripple_1_1ApplicationImp.html#aab0c06671c109dc2b487a1aab6dcb168">ApplicationImp::setMaxDisallowedLedger</a>()</div>
|
||||
<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span> {</div>
|
||||
<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>  boost::optional<LedgerIndex> seq;</div>
|
||||
<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>  {</div>
|
||||
<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>  <span class="keyword">auto</span> db = <a class="code" href="classripple_1_1ApplicationImp.html#a6faf96850e1e168ded33643a7740de80">getLedgerDB</a>().<a class="code" href="classripple_1_1DatabaseCon.html#a16c6f729c6462f6200b724543f5c67bc">checkoutDb</a>();</div>
|
||||
<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>  *db << <span class="stringliteral">"SELECT MAX(LedgerSeq) FROM Ledgers;"</span>, soci::into(seq);</div>
|
||||
<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>  }</div>
|
||||
<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>  <span class="keywordflow">if</span> (seq)</div>
|
||||
<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>  <a class="code" href="classripple_1_1ApplicationImp.html#a99e558bb1e921cc7770ea335724acdb9">maxDisallowedLedger_</a> = *seq;</div>
|
||||
<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>  </div>
|
||||
<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>  JLOG(<a class="code" href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a2d8f2f3f5a89118960029a55644ec41d">m_journal</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
|
||||
<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>  << <span class="stringliteral">"Max persisted ledger is "</span> << <a class="code" href="classripple_1_1ApplicationImp.html#a99e558bb1e921cc7770ea335724acdb9">maxDisallowedLedger_</a>;</div>
|
||||
<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span> }</div>
|
||||
<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>  </div>
|
||||
<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>  </div>
|
||||
<div class="line"><a name="l02190"></a><span class="lineno"><a class="line" href="classripple_1_1Application.html#a8f3b40098b20712612de1b46a65b5156"> 2190</a></span> <a class="code" href="classripple_1_1Application.html#a8f3b40098b20712612de1b46a65b5156">Application::Application</a>() : <a class="code" href="namespacebeast.html">beast</a>::PropertyStream::<a class="code" href="classbeast_1_1PropertyStream_1_1Source.html#a1dd058a9799aec943c4f52aa263f6242">Source</a>(<span class="stringliteral">"app"</span>)</div>
|
||||
<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span> {</div>
|
||||
<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span> }</div>
|
||||
<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>  </div>
|
||||
<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>  </div>
|
||||
<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<Application></a></div>
|
||||
<div class="line"><a name="l02197"></a><span class="lineno"><a class="line" href="namespaceripple.html#a37eda33d77f068d8788e5a5a81a7cc77"> 2197</a></span> <a class="code" href="namespaceripple.html#a37eda33d77f068d8788e5a5a81a7cc77">make_Application</a>(</div>
|
||||
<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<Config></a> config,</div>
|
||||
<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<Logs></a> logs,</div>
|
||||
<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<TimeKeeper></a> timeKeeper)</div>
|
||||
<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span> {</div>
|
||||
<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>  <span class="keywordflow">return</span> std::make_unique<ApplicationImp>(</div>
|
||||
<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>  std::move(config), std::move(logs), std::move(timeKeeper));</div>
|
||||
<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span> }</div>
|
||||
<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>  </div>
|
||||
<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span> } <span class="comment">// namespace ripple</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassripple_1_1NodeStoreScheduler_html"><div class="ttname"><a href="classripple_1_1NodeStoreScheduler.html">ripple::NodeStoreScheduler</a></div><div class="ttdoc">A NodeStore::Scheduler which uses the JobQueue and implements the Stoppable API.</div><div class="ttdef"><b>Definition:</b> <a href="NodeStoreScheduler_8h_source.html#l00032">NodeStoreScheduler.h:32</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Validations_html_a883367ea7d5cfc5007db68024faa9efa"><div class="ttname"><a href="classripple_1_1Validations.html#a883367ea7d5cfc5007db68024faa9efa">ripple::Validations::expire</a></div><div class="ttdeci">void expire()</div><div class="ttdoc">Expire old validation sets.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l00709">Validations.h:709</a></div></div>
|
||||
@@ -2292,7 +2291,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Section_html"><div class="ttname"><a href="classripple_1_1Section.html">ripple::Section</a></div><div class="ttdoc">Holds a collection of configuration values.</div><div class="ttdef"><b>Definition:</b> <a href="BasicConfig_8h_source.html#l00043">BasicConfig.h:43</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NetworkOPs_html"><div class="ttname"><a href="classripple_1_1NetworkOPs.html">ripple::NetworkOPs</a></div><div class="ttdoc">Provides server functionality for clients.</div><div class="ttdef"><b>Definition:</b> <a href="NetworkOPs_8h_source.html#l00088">NetworkOPs.h:88</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ab34b75fdd879f1fef726db73b1d5e436"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ab34b75fdd879f1fef726db73b1d5e436">ripple::ApplicationImp::shardStore_</a></div><div class="ttdeci">std::unique_ptr< NodeStore::DatabaseShard > shardStore_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00180">Application.cpp:180</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae8a44b9a51d06375b20015555a82bf6f"><div class="ttname"><a href="namespaceripple.html#ae8a44b9a51d06375b20015555a82bf6f">ripple::loadLedgerHelper</a></div><div class="ttdeci">std::tuple< std::shared_ptr< Ledger >, std::uint32_t, uint256 > loadLedgerHelper(std::string const &sqlSuffix, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01133">Ledger.cpp:1133</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae8a44b9a51d06375b20015555a82bf6f"><div class="ttname"><a href="namespaceripple.html#ae8a44b9a51d06375b20015555a82bf6f">ripple::loadLedgerHelper</a></div><div class="ttdeci">std::tuple< std::shared_ptr< Ledger >, std::uint32_t, uint256 > loadLedgerHelper(std::string const &sqlSuffix, Application &app, bool acquire)</div><div class="ttdef"><b>Definition:</b> <a href="Ledger_8cpp_source.html#l01135">Ledger.cpp:1135</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Application_html"><div class="ttname"><a href="classripple_1_1Application.html">ripple::Application</a></div><div class="ttdef"><b>Definition:</b> <a href="Application_8h_source.html#l00097">Application.h:97</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af68738fadb1f5ce44fb53c4b06436ac1"><div class="ttname"><a href="namespaceripple.html#af68738fadb1f5ce44fb53c4b06436ac1">ripple::WalletDBName</a></div><div class="ttdeci">constexpr auto WalletDBName</div><div class="ttdef"><b>Definition:</b> <a href="DBInit_8h_source.html#l00139">DBInit.h:139</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1RPC_1_1JsonContext_html"><div class="ttname"><a href="structripple_1_1RPC_1_1JsonContext.html">ripple::RPC::JsonContext</a></div><div class="ttdef"><b>Definition:</b> <a href="Context_8h_source.html#l00053">Context.h:53</a></div></div>
|
||||
@@ -2313,8 +2312,8 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a73bcfdb2fa60c019b3d97a440e8155b6"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a73bcfdb2fa60c019b3d97a440e8155b6">ripple::ApplicationImp::getNodeStore</a></div><div class="ttdeci">NodeStore::Database & getNodeStore() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00612">Application.cpp:612</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa63b459355503ca0fbf20ef1013ad036"><div class="ttname"><a href="namespaceripple.html#aa63b459355503ca0fbf20ef1013ad036">ripple::loadNodeIdentity</a></div><div class="ttdeci">std::pair< PublicKey, SecretKey > loadNodeIdentity(Application &app)</div><div class="ttdoc">The cryptographic credentials identifying this server instance.</div><div class="ttdef"><b>Definition:</b> <a href="NodeIdentity_8cpp_source.html#l00032">NodeIdentity.cpp:32</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1TaggedCache_html"><div class="ttname"><a href="classripple_1_1TaggedCache.html">ripple::TaggedCache< SHAMapHash, Blob ></a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a695ccd48be7dda56348612a8b2695c54"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a695ccd48be7dda56348612a8b2695c54">ripple::ApplicationImp::serverOkay</a></div><div class="ttdeci">bool serverOkay(std::string &reason) override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02106">Application.cpp:2106</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#l01225">Ledger.cpp:1225</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a695ccd48be7dda56348612a8b2695c54"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a695ccd48be7dda56348612a8b2695c54">ripple::ApplicationImp::serverOkay</a></div><div class="ttdeci">bool serverOkay(std::string &reason) override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02105">Application.cpp:2105</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#l01227">Ledger.cpp:1227</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a536e3bab957c1e220d1de0bf2885ffc3"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a536e3bab957c1e220d1de0bf2885ffc3">ripple::LedgerMaster::sweep</a></div><div class="ttdeci">void sweep()</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01736">LedgerMaster.cpp:1736</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a2523f22c44ed9ed72799f0ec56647270"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a2523f22c44ed9ed72799f0ec56647270">ripple::ApplicationImp::mValidations</a></div><div class="ttdeci">RCLValidations mValidations</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00201">Application.cpp:201</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1Manager_html_ad77af517bcd993cf292d64db64102979"><div class="ttname"><a href="classripple_1_1NodeStore_1_1Manager.html#ad77af517bcd993cf292d64db64102979">ripple::NodeStore::Manager::make_Database</a></div><div class="ttdeci">virtual std::unique_ptr< Database > make_Database(std::string const &name, std::size_t burstSize, Scheduler &scheduler, int readThreads, Stoppable &parent, Section const &backendParameters, beast::Journal journal)=0</div><div class="ttdoc">Construct a NodeStore database.</div></div>
|
||||
@@ -2354,11 +2353,11 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a8774137bcc44a4370ff1296ce5b0da4c"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a8774137bcc44a4370ff1296ce5b0da4c">ripple::ApplicationImp::waitHandlerCounter_</a></div><div class="ttdeci">ClosureCounter< void, boost::system::error_code const & > waitHandlerCounter_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00204">Application.cpp:204</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ac0353574d72fb16f6abf651c48b7c48e"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ac0353574d72fb16f6abf651c48b7c48e">ripple::ApplicationImp::getOPs</a></div><div class="ttdeci">NetworkOPs & getOPs() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00545">Application.cpp:545</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ab8841ad7ab85b7c0a2e91b3626556223"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ab8841ad7ab85b7c0a2e91b3626556223">ripple::ApplicationImp::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01644">Application.cpp:1644</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ab5e987b5730034cb11208862e7685f8b"><div class="ttname"><a href="namespaceripple.html#ab5e987b5730034cb11208862e7685f8b">ripple::make_Overlay</a></div><div class="ttdeci">std::unique_ptr< Overlay > make_Overlay(Application &app, Overlay::Setup const &setup, Stoppable &parent, ServerHandler &serverHandler, Resource::Manager &resourceManager, Resolver &resolver, boost::asio::io_service &io_service, BasicConfig const &config, beast::insight::Collector::ptr const &collector)</div><div class="ttdoc">Creates the implementation of Overlay.</div><div class="ttdef"><b>Definition:</b> <a href="OverlayImpl_8cpp_source.html#l01570">OverlayImpl.cpp:1570</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ab5e987b5730034cb11208862e7685f8b"><div class="ttname"><a href="namespaceripple.html#ab5e987b5730034cb11208862e7685f8b">ripple::make_Overlay</a></div><div class="ttdeci">std::unique_ptr< Overlay > make_Overlay(Application &app, Overlay::Setup const &setup, Stoppable &parent, ServerHandler &serverHandler, Resource::Manager &resourceManager, Resolver &resolver, boost::asio::io_service &io_service, BasicConfig const &config, beast::insight::Collector::ptr const &collector)</div><div class="ttdoc">Creates the implementation of Overlay.</div><div class="ttdef"><b>Definition:</b> <a href="OverlayImpl_8cpp_source.html#l01565">OverlayImpl.cpp:1565</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CollectorManager_html"><div class="ttname"><a href="classripple_1_1CollectorManager.html">ripple::CollectorManager</a></div><div class="ttdoc">Provides the beast::insight::Collector service.</div><div class="ttdef"><b>Definition:</b> <a href="CollectorManager_8h_source.html#l00029">CollectorManager.h:29</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1ConfigSection_html_a683114c5bbff808d0b15bd6a4283dff4"><div class="ttname"><a href="structripple_1_1ConfigSection.html#a683114c5bbff808d0b15bd6a4283dff4">ripple::ConfigSection::importNodeDatabase</a></div><div class="ttdeci">static std::string importNodeDatabase()</div><div class="ttdef"><b>Definition:</b> <a href="ConfigSections_8h_source.html#l00043">ConfigSections.h:43</a></div></div>
|
||||
<div class="ttc" id="aduration_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_aaae716bbe446917d6991aca218368f9d"><div class="ttname"><a href="classripple_1_1Config.html#aaae716bbe446917d6991aca218368f9d">ripple::Config::NODE_SIZE</a></div><div class="ttdeci">std::size_t NODE_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00168">Config.h:168</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_aaae716bbe446917d6991aca218368f9d"><div class="ttname"><a href="classripple_1_1Config.html#aaae716bbe446917d6991aca218368f9d">ripple::Config::NODE_SIZE</a></div><div class="ttdeci">std::size_t NODE_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00175">Config.h:175</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_affe5d55613c056ab4cb37cf983ddcce5"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#affe5d55613c056ab4cb37cf983ddcce5">ripple::ApplicationImp::m_acceptedLedgerCache</a></div><div class="ttdeci">TaggedCache< uint256, AcceptedLedger > m_acceptedLedgerCache</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00189">Application.cpp:189</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a66757a2f9a3ef2eaf7b4f157e40b4896"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a66757a2f9a3ef2eaf7b4f157e40b4896">ripple::ApplicationImp::setup</a></div><div class="ttdeci">bool setup() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01267">Application.cpp:1267</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SHAMapStore_html"><div class="ttname"><a href="classripple_1_1SHAMapStore.html">ripple::SHAMapStore</a></div><div class="ttdoc">class to create database, launch online delete thread, and related SQLite database</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapStore_8h_source.html#l00037">SHAMapStore.h:37</a></div></div>
|
||||
@@ -2404,12 +2403,12 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a34a117e0319dca33826c9d2fe9147ff3"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a34a117e0319dca33826c9d2fe9147ff3">ripple::ApplicationImp::m_nodeStore</a></div><div class="ttdeci">std::unique_ptr< NodeStore::Database > m_nodeStore</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00178">Application.cpp:178</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a64fa9e3b8efc330083f5073754cb0c4c"><div class="ttname"><a href="namespaceripple.html#a64fa9e3b8efc330083f5073754cb0c4c">ripple::LgrDBInit</a></div><div class="ttdeci">constexpr std::array< char const *, 5 > LgrDBInit</div><div class="ttdef"><b>Definition:</b> <a href="DBInit_8h_source.html#l00048">DBInit.h:48</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ab0768fe99ee16746f232f906513240e3"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ab0768fe99ee16746f232f906513240e3">ripple::ApplicationImp::perfLog_</a></div><div class="ttdeci">std::unique_ptr< perf::PerfLog > perfLog_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00155">Application.cpp:155</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1AccountIDCache_html"><div class="ttname"><a href="classripple_1_1AccountIDCache.html">ripple::AccountIDCache</a></div><div class="ttdoc">Caches the base58 representations of AccountIDs.</div><div class="ttdef"><b>Definition:</b> <a href="AccountID_8h_source.html#l00141">AccountID.h:141</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1AccountIDCache_html"><div class="ttname"><a href="classripple_1_1AccountIDCache.html">ripple::AccountIDCache</a></div><div class="ttdoc">Caches the base58 representations of AccountIDs.</div><div class="ttdef"><b>Definition:</b> <a href="AccountID_8h_source.html#l00118">AccountID.h:118</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a9f631883b39de192bab6ed9b01802a50"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a9f631883b39de192bab6ed9b01802a50">ripple::ApplicationImp::nodeIdentity_</a></div><div class="ttdeci">std::pair< PublicKey, SecretKey > nodeIdentity_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00171">Application.cpp:171</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1InboundLedgers_html_a2bb3b2c716ef8839a360493277a0c53d"><div class="ttname"><a href="classripple_1_1InboundLedgers.html#a2bb3b2c716ef8839a360493277a0c53d">ripple::InboundLedgers::sweep</a></div><div class="ttdeci">virtual void sweep()=0</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ValidatorKeys_html"><div class="ttname"><a href="classripple_1_1ValidatorKeys.html">ripple::ValidatorKeys</a></div><div class="ttdoc">Validator keys and manifest as set in configuration file.</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorKeys_8h_source.html#l00036">ValidatorKeys.h:36</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a11984e8384cf53009b243167b7e5f3f8"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a11984e8384cf53009b243167b7e5f3f8">ripple::ApplicationImp::mLedgerDB</a></div><div class="ttdeci">std::unique_ptr< DatabaseCon > mLedgerDB</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00210">Application.cpp:210</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af6550c765f1787e0c238e1c34e5d3836"><div class="ttname"><a href="namespaceripple.html#af6550c765f1787e0c238e1c34e5d3836">ripple::make_InboundLedgers</a></div><div class="ttdeci">std::unique_ptr< InboundLedgers > make_InboundLedgers(Application &app, InboundLedgers::clock_type &clock, Stoppable &parent, beast::insight::Collector::ptr const &collector)</div><div class="ttdef"><b>Definition:</b> <a href="InboundLedgers_8cpp_source.html#l00429">InboundLedgers.cpp:429</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af6550c765f1787e0c238e1c34e5d3836"><div class="ttname"><a href="namespaceripple.html#af6550c765f1787e0c238e1c34e5d3836">ripple::make_InboundLedgers</a></div><div class="ttdeci">std::unique_ptr< InboundLedgers > make_InboundLedgers(Application &app, InboundLedgers::clock_type &clock, Stoppable &parent, beast::insight::Collector::ptr const &collector)</div><div class="ttdef"><b>Definition:</b> <a href="InboundLedgers_8cpp_source.html#l00412">InboundLedgers.cpp:412</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html"><div class="ttname"><a href="classripple_1_1HashRouter.html">ripple::HashRouter</a></div><div class="ttdoc">Routing table for objects identified by hash.</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00052">HashRouter.h:52</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ab5fadc2b2814a10d35c00c0a8241fbe7"><div class="ttname"><a href="namespaceripple.html#ab5fadc2b2814a10d35c00c0a8241fbe7">ripple::forceValidity</a></div><div class="ttdeci">void forceValidity(HashRouter &router, uint256 const &txid, Validity validity)</div><div class="ttdoc">Sets the validity of a given transaction in the cache.</div><div class="ttdef"><b>Definition:</b> <a href="apply_8cpp_source.html#l00089">apply.cpp:89</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a21dd55310b1f0a99297b384518d6df25"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a21dd55310b1f0a99297b384518d6df25">ripple::ApplicationImp::onStart</a></div><div class="ttdeci">void onStart() override</div><div class="ttdoc">Override called during start.</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00989">Application.cpp:989</a></div></div>
|
||||
@@ -2427,39 +2426,39 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a9717a8236d67d262b4e5273712ac545c"><div class="ttname"><a href="namespaceripple.html#a9717a8236d67d262b4e5273712ac545c">ripple::setup_ServerHandler</a></div><div class="ttdeci">ServerHandler::Setup setup_ServerHandler(Config const &config, std::ostream &&log)</div><div class="ttdef"><b>Definition:</b> <a href="ServerHandlerImp_8cpp_source.html#l01143">ServerHandlerImp.cpp:1143</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a92cbe78002001fb6211e97947d5df91d"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a92cbe78002001fb6211e97947d5df91d">ripple::ApplicationImp::loadLedgerFromFile</a></div><div class="ttdeci">std::shared_ptr< Ledger > loadLedgerFromFile(std::string const &ledgerID)</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01789">Application.cpp:1789</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ab81dc930fc621743cbdbffb39e1a1e8c"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ab81dc930fc621743cbdbffb39e1a1e8c">ripple::ApplicationImp::checkSigs</a></div><div class="ttdeci">bool checkSigs() const override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01689">Application.cpp:1689</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ac38f5fa6d22f82dc0aa017605f6ae0ad"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">ripple::ApplicationImp::journal</a></div><div class="ttdeci">beast::Journal journal(std::string const &name) override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02148">Application.cpp:2148</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ac38f5fa6d22f82dc0aa017605f6ae0ad"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ac38f5fa6d22f82dc0aa017605f6ae0ad">ripple::ApplicationImp::journal</a></div><div class="ttdeci">beast::Journal journal(std::string const &name) override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02147">Application.cpp:2147</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a1465c12d8850060b5bcda20dc3f09c0f"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a1465c12d8850060b5bcda20dc3f09c0f">ripple::ApplicationImp::startTimers_</a></div><div class="ttdeci">bool startTimers_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00207">Application.cpp:207</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aaeddb4a3396c616a7ef7350e4cc327f0"><div class="ttname"><a href="namespaceripple.html#aaeddb4a3396c616a7ef7350e4cc327f0">ripple::TxDBName</a></div><div class="ttdeci">constexpr auto TxDBName</div><div class="ttdef"><b>Definition:</b> <a href="DBInit_8h_source.html#l00073">DBInit.h:73</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_afc0ceee72c1a3f208ff9c0bf24caef2e"><div class="ttname"><a href="namespaceripple.html#afc0ceee72c1a3f208ff9c0bf24caef2e">ripple::make_NetworkOPs</a></div><div class="ttdeci">std::unique_ptr< NetworkOPs > make_NetworkOPs(Application &app, NetworkOPs::clock_type &clock, bool standalone, std::size_t minPeerCount, bool startvalid, JobQueue &job_queue, LedgerMaster &ledgerMaster, Stoppable &parent, ValidatorKeys const &validatorKeys, boost::asio::io_service &io_svc, beast::Journal journal, beast::insight::Collector::ptr const &collector)</div><div class="ttdef"><b>Definition:</b> <a href="NetworkOPs_8cpp_source.html#l03909">NetworkOPs.cpp:3909</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afc0ceee72c1a3f208ff9c0bf24caef2e"><div class="ttname"><a href="namespaceripple.html#afc0ceee72c1a3f208ff9c0bf24caef2e">ripple::make_NetworkOPs</a></div><div class="ttdeci">std::unique_ptr< NetworkOPs > make_NetworkOPs(Application &app, NetworkOPs::clock_type &clock, bool standalone, std::size_t minPeerCount, bool startvalid, JobQueue &job_queue, LedgerMaster &ledgerMaster, Stoppable &parent, ValidatorKeys const &validatorKeys, boost::asio::io_service &io_svc, beast::Journal journal, beast::insight::Collector::ptr const &collector)</div><div class="ttdef"><b>Definition:</b> <a href="NetworkOPs_8cpp_source.html#l03907">NetworkOPs.cpp:3907</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a2fa5adbc79752bbf81d83917beae916f"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a2fa5adbc79752bbf81d83917beae916f">ripple::ApplicationImp::entropyTimer_</a></div><div class="ttdeci">boost::asio::steady_timer entropyTimer_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00206">Application.cpp:206</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a3b65a8d56c16411d8b53c25511270564"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a3b65a8d56c16411d8b53c25511270564">ripple::ApplicationImp::getMaxDisallowedLedger</a></div><div class="ttdeci">LedgerIndex getMaxDisallowedLedger() override</div><div class="ttdoc">Ensure that a newly-started validator does not sign proposals older than the last ledger it persisted...</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01234">Application.cpp:1234</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a4c949b429439968e259e51d9dbec2d53"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a4c949b429439968e259e51d9dbec2d53">ripple::ApplicationImp::nodeToShards</a></div><div class="ttdeci">bool nodeToShards()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02154">Application.cpp:2154</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a4c949b429439968e259e51d9dbec2d53"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a4c949b429439968e259e51d9dbec2d53">ripple::ApplicationImp::nodeToShards</a></div><div class="ttdeci">bool nodeToShards()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02153">Application.cpp:2153</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a6772048a5a095373990d83fe9905c123"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a6772048a5a095373990d83fe9905c123">ripple::ApplicationImp::hashRouter_</a></div><div class="ttdeci">std::unique_ptr< HashRouter > hashRouter_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00200">Application.cpp:200</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ac0f05583dc56efc1b99ba22654a0ff3b"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ac0f05583dc56efc1b99ba22654a0ff3b">ripple::ApplicationImp::getMasterMutex</a></div><div class="ttdeci">Application::MutexType & getMasterMutex() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00684">Application.cpp:684</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RootStoppable_html_a48d6a1df60b9dff8d360916227e90174"><div class="ttname"><a href="classripple_1_1RootStoppable.html#a48d6a1df60b9dff8d360916227e90174">ripple::RootStoppable::stop</a></div><div class="ttdeci">void stop(beast::Journal j)</div><div class="ttdoc">Notify a root stoppable and children to stop, and block until stopped.</div><div class="ttdef"><b>Definition:</b> <a href="Stoppable_8cpp_source.html#l00199">Stoppable.cpp:199</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_ae260edec8d594097363ca6b34e2f218a"><div class="ttname"><a href="classripple_1_1HashRouter.html#ae260edec8d594097363ca6b34e2f218a">ripple::HashRouter::getDefaultRecoverLimit</a></div><div class="ttdeci">static std::uint32_t getDefaultRecoverLimit()</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00167">HashRouter.h:167</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_ae260edec8d594097363ca6b34e2f218a"><div class="ttname"><a href="classripple_1_1HashRouter.html#ae260edec8d594097363ca6b34e2f218a">ripple::HashRouter::getDefaultRecoverLimit</a></div><div class="ttdeci">static std::uint32_t getDefaultRecoverLimit()</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00161">HashRouter.h:161</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a5cd9494694ab957b0b348678d7b7080f"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a5cd9494694ab957b0b348678d7b7080f">ripple::ApplicationImp::m_ledgerMaster</a></div><div class="ttdeci">std::unique_ptr< LedgerMaster > m_ledgerMaster</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00186">Application.cpp:186</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Stoppable_html_af1e1447ecb573d2341c8a71afd3e76da"><div class="ttname"><a href="classripple_1_1Stoppable.html#af1e1447ecb573d2341c8a71afd3e76da">ripple::Stoppable::isStopped</a></div><div class="ttdeci">bool isStopped() const</div><div class="ttdoc">Returns true if the requested stop has completed.</div><div class="ttdef"><b>Definition:</b> <a href="Stoppable_8cpp_source.html#l00060">Stoppable.cpp:60</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPC_html_a84827a1d9b56ad8201671ff77c2ddf2e"><div class="ttname"><a href="namespaceripple_1_1RPC.html#a84827a1d9b56ad8201671ff77c2ddf2e">ripple::RPC::doCommand</a></div><div class="ttdeci">Status doCommand(RPC::JsonContext &context, Json::Value &result)</div><div class="ttdoc">Execute an RPC command and store the results in a Json::Value.</div><div class="ttdef"><b>Definition:</b> <a href="RPCHandler_8cpp_source.html#l00213">RPCHandler.cpp:213</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_adc117aa1e40c420ae8c34dea1f2f1bf1"><div class="ttname"><a href="namespaceripple.html#adc117aa1e40c420ae8c34dea1f2f1bf1">ripple::setup_Overlay</a></div><div class="ttdeci">Overlay::Setup setup_Overlay(BasicConfig const &config)</div><div class="ttdef"><b>Definition:</b> <a href="OverlayImpl_8cpp_source.html#l01465">OverlayImpl.cpp:1465</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_adc117aa1e40c420ae8c34dea1f2f1bf1"><div class="ttname"><a href="namespaceripple.html#adc117aa1e40c420ae8c34dea1f2f1bf1">ripple::setup_Overlay</a></div><div class="ttdeci">Overlay::Setup setup_Overlay(BasicConfig const &config)</div><div class="ttdef"><b>Definition:</b> <a href="OverlayImpl_8cpp_source.html#l01460">OverlayImpl.cpp:1460</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a481f47813b09af10be4e59140a062bce"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a481f47813b09af10be4e59140a062bce">ripple::ApplicationImp::logs</a></div><div class="ttdeci">Logs & logs() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00489">Application.cpp:489</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a16c55093c7863fc7db422cc3497e584a"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a16c55093c7863fc7db422cc3497e584a">ripple::ApplicationImp::getPerfLog</a></div><div class="ttdeci">perf::PerfLog & getPerfLog() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00600">Application.cpp:600</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_af115fbb0437c87cfa005d451cdd542da"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#af115fbb0437c87cfa005d451cdd542da">ripple::ApplicationImp::m_jobQueue</a></div><div class="ttdeci">std::unique_ptr< JobQueue > m_jobQueue</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00177">Application.cpp:177</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_af1ffdb3525a023afff41a7efa62808f7"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#af1ffdb3525a023afff41a7efa62808f7">ripple::ApplicationImp::checkSigs_</a></div><div class="ttdeci">std::atomic< bool > checkSigs_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00221">Application.cpp:221</a></div></div>
|
||||
<div class="ttc" id="areference_wrapper_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/reference_wrapper.html">std::reference_wrapper</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#l01240">Ledger.cpp:1240</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#l01242">Ledger.cpp:1242</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1TxQ_html"><div class="ttname"><a href="classripple_1_1TxQ.html">ripple::TxQ</a></div><div class="ttdoc">Transaction Queue.</div><div class="ttdef"><b>Definition:</b> <a href="TxQ_8h_source.html#l00055">TxQ.h:55</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a2b955de6d8b0eaa6e23be4b9475caef3"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a2b955de6d8b0eaa6e23be4b9475caef3">ripple::ApplicationImp::numberOfThreads</a></div><div class="ttdeci">static std::size_t numberOfThreads(Config const &config)</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00232">Application.cpp:232</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1DatabaseCon_html_a16c6f729c6462f6200b724543f5c67bc"><div class="ttname"><a href="classripple_1_1DatabaseCon.html#a16c6f729c6462f6200b724543f5c67bc">ripple::DatabaseCon::checkoutDb</a></div><div class="ttdeci">LockedSociSession checkoutDb()</div><div class="ttdef"><b>Definition:</b> <a href="DatabaseCon_8h_source.html#l00176">DatabaseCon.h:176</a></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#l00475">base_uint.h:475</a></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#l00439">base_uint.h:439</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ad599a7d8681a845d8fc0a0bcdbb5ef80"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ad599a7d8681a845d8fc0a0bcdbb5ef80">ripple::ApplicationImp::getSHAMapStore</a></div><div class="ttdeci">SHAMapStore & getSHAMapStore() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00780">Application.cpp:780</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RootStoppable_html"><div class="ttname"><a href="classripple_1_1RootStoppable.html">ripple::RootStoppable</a></div><div class="ttdef"><b>Definition:</b> <a href="Stoppable_8h_source.html#l00353">Stoppable.h:353</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a7cb82a436e3400fa3a0d4f7a5c453425"><div class="ttname"><a href="namespaceripple.html#a7cb82a436e3400fa3a0d4f7a5c453425">ripple::LgrDBPragma</a></div><div class="ttdeci">constexpr std::array< char const *, 1 > LgrDBPragma</div><div class="ttdef"><b>Definition:</b> <a href="DBInit_8h_source.html#l00045">DBInit.h:45</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae08fe18f17b24699ce41d3898fbb8c2ca73acd9a5972130b75066c82595a1fae3"><div class="ttname"><a href="namespaceripple.html#ae08fe18f17b24699ce41d3898fbb8c2ca73acd9a5972130b75066c82595a1fae3">ripple::Role::ADMIN</a></div><div class="ttdeci">@ ADMIN</div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1PropertyStream_1_1Source_html_a6b74ac4b0ae83b71d8605412b2fe5c8b"><div class="ttname"><a href="classbeast_1_1PropertyStream_1_1Source.html#a6b74ac4b0ae83b71d8605412b2fe5c8b">beast::PropertyStream::Source::add</a></div><div class="ttdeci">void add(Source &source)</div><div class="ttdoc">Add a child source.</div><div class="ttdef"><b>Definition:</b> <a href="beast__PropertyStream_8cpp_source.html#l00196">beast_PropertyStream.cpp:196</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a1c57e666c25bf08036419be9dec6e308"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a1c57e666c25bf08036419be9dec6e308">ripple::ApplicationImp::getAmendmentTable</a></div><div class="ttdeci">AmendmentTable & getAmendmentTable() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00720">Application.cpp:720</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a92b2db846b4071ffc3f63baa299de7be"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a92b2db846b4071ffc3f63baa299de7be">ripple::ApplicationImp::loadOldLedger</a></div><div class="ttdeci">bool loadOldLedger(std::string const &ledgerID, bool replay, bool isFilename)</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01925">Application.cpp:1925</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a92b2db846b4071ffc3f63baa299de7be"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a92b2db846b4071ffc3f63baa299de7be">ripple::ApplicationImp::loadOldLedger</a></div><div class="ttdeci">bool loadOldLedger(std::string const &ledgerID, bool replay, bool isFilename)</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01924">Application.cpp:1924</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a6a903cdc8ced62bd817736028022bc14"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a6a903cdc8ced62bd817736028022bc14">ripple::ApplicationImp::initSQLiteDBs</a></div><div class="ttdeci">bool initSQLiteDBs()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00851">Application.cpp:851</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1PublicKey_html"><div class="ttname"><a href="classripple_1_1PublicKey.html">ripple::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8h_source.html#l00059">PublicKey.h:59</a></div></div>
|
||||
<div class="ttc" id="aload_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/atomic/atomic/load.html">std::atomic::load</a></div><div class="ttdeci">T load(T... args)</div></div>
|
||||
@@ -2469,7 +2468,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Cluster_html"><div class="ttname"><a href="classripple_1_1Cluster.html">ripple::Cluster</a></div><div class="ttdef"><b>Definition:</b> <a href="Cluster_8h_source.html#l00038">Cluster.h:38</a></div></div>
|
||||
<div class="ttc" id="ahardware_concurrency_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency.html">std::thread::hardware_concurrency</a></div><div class="ttdeci">T hardware_concurrency(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CachedSLEs_html"><div class="ttname"><a href="classripple_1_1CachedSLEs.html">ripple::CachedSLEs</a></div><div class="ttdoc">Caches SLEs by their digest.</div><div class="ttdef"><b>Definition:</b> <a href="CachedSLEs_8h_source.html#l00032">CachedSLEs.h:32</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ValidatorList_html"><div class="ttname"><a href="classripple_1_1ValidatorList.html">ripple::ValidatorList</a></div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8h_source.html#l00119">ValidatorList.h:119</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ValidatorList_html"><div class="ttname"><a href="classripple_1_1ValidatorList.html">ripple::ValidatorList</a></div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8h_source.html#l00120">ValidatorList.h:120</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_afa84264da31e317f389f9a017b0e7718"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#afa84264da31e317f389f9a017b0e7718">ripple::ApplicationImp::getResourceManager</a></div><div class="ttdeci">Resource::Manager & getResourceManager() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00696">Application.cpp:696</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a15c93a909f6eea0d14afb3ae9b090d79"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a15c93a909f6eea0d14afb3ae9b090d79">ripple::ApplicationImp::peerReservations</a></div><div class="ttdeci">PeerReservationTable & peerReservations() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00774">Application.cpp:774</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ac4e2f03173d4045253fd264f405c06da"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ac4e2f03173d4045253fd264f405c06da">ripple::ApplicationImp::publisherManifests</a></div><div class="ttdeci">ManifestCache & publisherManifests() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00762">Application.cpp:762</a></div></div>
|
||||
@@ -2481,10 +2480,10 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a88060e98ef874a658c4237a03d0f86f9"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a88060e98ef874a658c4237a03d0f86f9">ripple::ApplicationImp::pendingSaves</a></div><div class="ttdeci">PendingSaves & pendingSaves() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00786">Application.cpp:786</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a825c3261ea26c25a29293145045bd6ee"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a825c3261ea26c25a29293145045bd6ee">ripple::ApplicationImp::m_collectorManager</a></div><div class="ttdeci">std::unique_ptr< CollectorManager > m_collectorManager</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00169">Application.cpp:169</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_aaeb9f395cf0315b24513ee4674a0bade"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#aaeb9f395cf0315b24513ee4674a0bade">ripple::ApplicationImp::nodeFamily_</a></div><div class="ttdeci">NodeFamily nodeFamily_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00179">Application.cpp:179</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a275f700dbd7057c55c7a6818cfe0fa6a"><div class="ttname"><a href="classripple_1_1HashRouter.html#a275f700dbd7057c55c7a6818cfe0fa6a">ripple::HashRouter::getDefaultHoldTime</a></div><div class="ttdeci">static std::chrono::seconds getDefaultHoldTime()</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00159">HashRouter.h:159</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1HashRouter_html_a275f700dbd7057c55c7a6818cfe0fa6a"><div class="ttname"><a href="classripple_1_1HashRouter.html#a275f700dbd7057c55c7a6818cfe0fa6a">ripple::HashRouter::getDefaultHoldTime</a></div><div class="ttdeci">static std::chrono::seconds getDefaultHoldTime()</div><div class="ttdef"><b>Definition:</b> <a href="HashRouter_8h_source.html#l00153">HashRouter.h:153</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1LedgerFill_html_acb9af41b82a8550a08d2288b6f9fc826a0fafa7070f778f38820f61903e1a5fc5"><div class="ttname"><a href="structripple_1_1LedgerFill.html#acb9af41b82a8550a08d2288b6f9fc826a0fafa7070f778f38820f61903e1a5fc5">ripple::LedgerFill::full</a></div><div class="ttdeci">@ full</div><div class="ttdef"><b>Definition:</b> <a href="LedgerToJson_8h_source.html#l00047">LedgerToJson.h:47</a></div></div>
|
||||
<div class="ttc" id="aunique_lock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/thread/unique_lock.html">std::unique_lock</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1io__latency__probe_html_a0d31e25fc6af4e3ed0ff85c82e0a5599"><div class="ttname"><a href="classbeast_1_1io__latency__probe.html#a0d31e25fc6af4e3ed0ff85c82e0a5599">beast::io_latency_probe::sample</a></div><div class="ttdeci">void sample(Handler &&handler)</div><div class="ttdoc">Initiate continuous i/o latency sampling.</div><div class="ttdef"><b>Definition:</b> <a href="io__latency__probe_8h_source.html#l00120">io_latency_probe.h:120</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1io__latency__probe_html_a0d31e25fc6af4e3ed0ff85c82e0a5599"><div class="ttname"><a href="classbeast_1_1io__latency__probe.html#a0d31e25fc6af4e3ed0ff85c82e0a5599">beast::io_latency_probe::sample</a></div><div class="ttdeci">void sample(Handler &&handler)</div><div class="ttdoc">Initiate continuous i/o latency sampling.</div><div class="ttdef"><b>Definition:</b> <a href="io__latency__probe_8h_source.html#l00119">io_latency_probe.h:119</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a61c15286da3d9c6174a20365a304a13c"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a61c15286da3d9c6174a20365a304a13c">ripple::ApplicationImp::m_txMaster</a></div><div class="ttdeci">TransactionMaster m_txMaster</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00159">Application.cpp:159</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NodeStore_1_1DatabaseShard_html"><div class="ttname"><a href="classripple_1_1NodeStore_1_1DatabaseShard.html">ripple::NodeStore::DatabaseShard</a></div><div class="ttdoc">A collection of historical shards.</div><div class="ttdef"><b>Definition:</b> <a href="DatabaseShard_8h_source.html#l00037">DatabaseShard.h:37</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1LoadFeeTrack_html"><div class="ttname"><a href="classripple_1_1LoadFeeTrack.html">ripple::LoadFeeTrack</a></div><div class="ttdoc">Manages the current fee schedule.</div><div class="ttdef"><b>Definition:</b> <a href="LoadFeeTrack_8h_source.html#l00043">LoadFeeTrack.h:43</a></div></div>
|
||||
@@ -2495,7 +2494,6 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ValidatorList_html_a5b0d33cb960903cc89ba236178e0247b"><div class="ttname"><a href="classripple_1_1ValidatorList.html#a5b0d33cb960903cc89ba236178e0247b">ripple::ValidatorList::listed</a></div><div class="ttdeci">bool listed(PublicKey const &identity) const</div><div class="ttdoc">Returns true if public key is included on any lists.</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8cpp_source.html#l00552">ValidatorList.cpp:552</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPC_html_affbc9e6f947124dd7e2f7fec4bd95d80"><div class="ttname"><a href="namespaceripple_1_1RPC.html#affbc9e6f947124dd7e2f7fec4bd95d80">ripple::RPC::ApiMaximumSupportedVersion</a></div><div class="ttdeci">constexpr unsigned int ApiMaximumSupportedVersion</div><div class="ttdef"><b>Definition:</b> <a href="RPCHelpers_8h_source.html#l00214">RPCHelpers.h:214</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a748c8369adb9cc4d9864778c316492bf"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a748c8369adb9cc4d9864778c316492bf">ripple::ApplicationImp::validatorSites</a></div><div class="ttdeci">ValidatorSite & validatorSites() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00750">Application.cpp:750</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html_aa4e88c771af37069b5cd6490ae010d52"><div class="ttname"><a href="classripple_1_1base__uint.html#aa4e88c771af37069b5cd6490ae010d52">ripple::base_uint::SetHex</a></div><div class="ttdeci">bool SetHex(const char *psz, bool bStrict=false)</div><div class="ttdoc">Parse a hex string into a base_uint The input can be:</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00406">base_uint.h:406</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a35ced120460d637fbdbaae9a894feba8"><div class="ttname"><a href="namespaceripple.html#a35ced120460d637fbdbaae9a894feba8">ripple::make_AmendmentTable</a></div><div class="ttdeci">std::unique_ptr< AmendmentTable > make_AmendmentTable(std::chrono::seconds majorityTime, Section const &supported, Section const &enabled, Section const &vetoed, beast::Journal journal)</div><div class="ttdef"><b>Definition:</b> <a href="AmendmentTable_8cpp_source.html#l00695">AmendmentTable.cpp:695</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a350d5617417777671c6d85af0726666f"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a350d5617417777671c6d85af0726666f">ripple::ApplicationImp::nodeIdentity</a></div><div class="ttdeci">std::pair< PublicKey, SecretKey > const & nodeIdentity() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00533">Application.cpp:533</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a49b0713e65bb8e2c51b76fbf16252afe"><div class="ttname"><a href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">beast::Journal::error</a></div><div class="ttdeci">Stream error() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00333">Journal.h:333</a></div></div>
|
||||
@@ -2538,8 +2536,8 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1OpenLedger_html"><div class="ttname"><a href="classripple_1_1OpenLedger.html">ripple::OpenLedger</a></div><div class="ttdoc">Represents the open ledger.</div><div class="ttdef"><b>Definition:</b> <a href="OpenLedger_8h_source.html#l00049">OpenLedger.h:49</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Validations_html_a8a3e6aea72a984baf7419ede37649d16"><div class="ttname"><a href="classripple_1_1Validations.html#a8a3e6aea72a984baf7419ede37649d16">ripple::Validations::flush</a></div><div class="ttdeci">void flush()</div><div class="ttdoc">Flush all current validations.</div><div class="ttdef"><b>Definition:</b> <a href="Validations_8h_source.html#l01057">Validations.h:1057</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1JobQueue_html"><div class="ttname"><a href="classripple_1_1JobQueue.html">ripple::JobQueue</a></div><div class="ttdoc">A pool of threads to perform work.</div><div class="ttdef"><b>Definition:</b> <a href="JobQueue_8h_source.html#l00055">JobQueue.h:55</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Application_html_a8f3b40098b20712612de1b46a65b5156"><div class="ttname"><a href="classripple_1_1Application.html#a8f3b40098b20712612de1b46a65b5156">ripple::Application::Application</a></div><div class="ttdeci">Application()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02191">Application.cpp:2191</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_aab0c06671c109dc2b487a1aab6dcb168"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#aab0c06671c109dc2b487a1aab6dcb168">ripple::ApplicationImp::setMaxDisallowedLedger</a></div><div class="ttdeci">void setMaxDisallowedLedger()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02175">Application.cpp:2175</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Application_html_a8f3b40098b20712612de1b46a65b5156"><div class="ttname"><a href="classripple_1_1Application.html#a8f3b40098b20712612de1b46a65b5156">ripple::Application::Application</a></div><div class="ttdeci">Application()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02190">Application.cpp:2190</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_aab0c06671c109dc2b487a1aab6dcb168"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#aab0c06671c109dc2b487a1aab6dcb168">ripple::ApplicationImp::setMaxDisallowedLedger</a></div><div class="ttdeci">void setMaxDisallowedLedger()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02174">Application.cpp:2174</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RPC_1_1ShardArchiveHandler_html_a68d9d711f9d71d55365349651bd60d3c"><div class="ttname"><a href="classripple_1_1RPC_1_1ShardArchiveHandler.html#a68d9d711f9d71d55365349651bd60d3c">ripple::RPC::ShardArchiveHandler::tryMakeRecoveryHandler</a></div><div class="ttdeci">static std::unique_ptr< ShardArchiveHandler > tryMakeRecoveryHandler(Application &app, Stoppable &parent)</div><div class="ttdef"><b>Definition:</b> <a href="ShardArchiveHandler_8cpp_source.html#l00056">ShardArchiveHandler.cpp:56</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Resource_1_1Manager_html"><div class="ttname"><a href="classripple_1_1Resource_1_1Manager.html">ripple::Resource::Manager</a></div><div class="ttdoc">Tracks load and resource consumption.</div><div class="ttdef"><b>Definition:</b> <a href="ResourceManager_8h_source.html#l00036">ResourceManager.h:36</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a3a3899b006e7ef2ad80980b899eade64"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a3a3899b006e7ef2ad80980b899eade64">ripple::ApplicationImp::shardFamily_</a></div><div class="ttdeci">std::unique_ptr< ShardFamily > shardFamily_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00181">Application.cpp:181</a></div></div>
|
||||
@@ -2561,15 +2559,16 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_1_1Resource_html_a0995bd4a406952709a273d6625f62b9e"><div class="ttname"><a href="namespaceripple_1_1Resource.html#a0995bd4a406952709a273d6625f62b9e">ripple::Resource::make_Manager</a></div><div class="ttdeci">std::unique_ptr< Manager > make_Manager(beast::insight::Collector::ptr const &collector, beast::Journal journal)</div><div class="ttdef"><b>Definition:</b> <a href="ResourceManager_8cpp_source.html#l00175">ResourceManager.cpp:175</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a66f856c301a1e77b5a461c1d6bf115a0"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a66f856c301a1e77b5a461c1d6bf115a0">ripple::ApplicationImp::getTempNodeCache</a></div><div class="ttdeci">NodeCache & getTempNodeCache() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00606">Application.cpp:606</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_1_1io__latency__sampler_html_acb94c7f08a9f69b7857c043b96c8496e"><div class="ttname"><a href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#acb94c7f08a9f69b7857c043b96c8496e">ripple::ApplicationImp::io_latency_sampler::get</a></div><div class="ttdeci">std::chrono::milliseconds get() const</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00131">Application.cpp:131</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1io__latency__probe_html_a3aacab2155a327714b711dc3dbc8c69c"><div class="ttname"><a href="classbeast_1_1io__latency__probe.html#a3aacab2155a327714b711dc3dbc8c69c">beast::io_latency_probe::cancel</a></div><div class="ttdeci">void cancel()</div><div class="ttdoc">Cancel all pending i/o.</div><div class="ttdef"><b>Definition:</b> <a href="io__latency__probe_8h_source.html#l00085">io_latency_probe.h:85</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1io__latency__probe_html_a3aacab2155a327714b711dc3dbc8c69c"><div class="ttname"><a href="classbeast_1_1io__latency__probe.html#a3aacab2155a327714b711dc3dbc8c69c">beast::io_latency_probe::cancel</a></div><div class="ttdeci">void cancel()</div><div class="ttdoc">Cancel all pending i/o.</div><div class="ttdef"><b>Definition:</b> <a href="io__latency__probe_8h_source.html#l00084">io_latency_probe.h:84</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_aa52f7873b95d29627d6e83ba96f69aaa"><div class="ttname"><a href="classJson_1_1Value.html#aa52f7873b95d29627d6e83ba96f69aaa">Json::Value::removeMember</a></div><div class="ttdeci">Value removeMember(const char *key)</div><div class="ttdoc">Remove and return the named member.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00907">json_value.cpp:907</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_aaa5a296639a06900edc4fef16665a77d"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#aaa5a296639a06900edc4fef16665a77d">ripple::ApplicationImp::grpcServer_</a></div><div class="ttdeci">std::unique_ptr< GRPCServer > grpcServer_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00227">Application.cpp:227</a></div></div>
|
||||
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1OpenView_html_ab230a32cbeedf37d8b30bbec8a91961d"><div class="ttname"><a href="classripple_1_1OpenView.html#ab230a32cbeedf37d8b30bbec8a91961d">ripple::OpenView::rawTxInsert</a></div><div class="ttdeci">void rawTxInsert(key_type const &key, std::shared_ptr< Serializer const > const &txn, std::shared_ptr< Serializer const > const &metaData) override</div><div class="ttdoc">Add a transaction to the tx map.</div><div class="ttdef"><b>Definition:</b> <a href="OpenView_8cpp_source.html#l00260">OpenView.cpp:260</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a6ecbcdd0995324175e0791b1a1bafabe"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a6ecbcdd0995324175e0791b1a1bafabe">ripple::ApplicationImp::getJobQueue</a></div><div class="ttdeci">JobQueue & getJobQueue() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00527">Application.cpp:527</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a5767b684ce07a588ab6e70ae175b4a0e"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a5767b684ce07a588ab6e70ae175b4a0e">ripple::ApplicationImp::fdRequired</a></div><div class="ttdeci">int fdRequired() const override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01701">Application.cpp:1701</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html_a88941f6d88609ddcd997293791772aed"><div class="ttname"><a href="classripple_1_1base__uint.html#a88941f6d88609ddcd997293791772aed">ripple::base_uint::parseHex</a></div><div class="ttdeci">bool parseHex(std::string_view sv)</div><div class="ttdoc">Parse a hex string into a base_uint.</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00384">base_uint.h:384</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_af5dcacfeb60e485cfc1e26e79ef07800"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#af5dcacfeb60e485cfc1e26e79ef07800">ripple::ApplicationImp::doSweep</a></div><div class="ttdeci">void doSweep()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01147">Application.cpp:1147</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_acde3d7e2f059202351f714545da5b233"><div class="ttname"><a href="namespaceripple.html#acde3d7e2f059202351f714545da5b233">ripple::make_SHAMapStore</a></div><div class="ttdeci">std::unique_ptr< SHAMapStore > make_SHAMapStore(Application &app, Stoppable &parent, NodeStore::Scheduler &scheduler, beast::Journal journal)</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapStoreImp_8cpp_source.html#l00782">SHAMapStoreImp.cpp:782</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_acde3d7e2f059202351f714545da5b233"><div class="ttname"><a href="namespaceripple.html#acde3d7e2f059202351f714545da5b233">ripple::make_SHAMapStore</a></div><div class="ttdeci">std::unique_ptr< SHAMapStore > make_SHAMapStore(Application &app, Stoppable &parent, NodeStore::Scheduler &scheduler, beast::Journal journal)</div><div class="ttdef"><b>Definition:</b> <a href="SHAMapStoreImp_8cpp_source.html#l00780">SHAMapStoreImp.cpp:780</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1PropertyStream_1_1Source_html_a1dd058a9799aec943c4f52aa263f6242"><div class="ttname"><a href="classbeast_1_1PropertyStream_1_1Source.html#a1dd058a9799aec943c4f52aa263f6242">beast::PropertyStream::Source::Source</a></div><div class="ttdeci">Source(std::string const &name)</div><div class="ttdef"><b>Definition:</b> <a href="beast__PropertyStream_8cpp_source.html#l00176">beast_PropertyStream.cpp:176</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Overlay_html"><div class="ttname"><a href="classripple_1_1Overlay.html">ripple::Overlay</a></div><div class="ttdoc">Manages the set of connected peers.</div><div class="ttdef"><b>Definition:</b> <a href="Overlay_8h_source.html#l00052">Overlay.h:52</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_1_1io__latency__sampler_html"><div class="ttname"><a href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html">ripple::ApplicationImp::io_latency_sampler</a></div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00085">Application.cpp:85</a></div></div>
|
||||
@@ -2605,7 +2604,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a1b38e742ac7fe4c3a80a397e06b83dcbacdae4987d98b9ac3e09734d700c51514"><div class="ttname"><a href="namespaceripple.html#a1b38e742ac7fe4c3a80a397e06b83dcbacdae4987d98b9ac3e09734d700c51514">ripple::SizedItem::ledgerSize</a></div><div class="ttdeci">@ ledgerSize</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Validations_html"><div class="ttname"><a href="classripple_1_1Validations.html">ripple::Validations< RCLValidationsAdaptor ></a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ClosureCounter_html_af0786d10092850fd4a1f10d0bec927a7"><div class="ttname"><a href="classripple_1_1ClosureCounter.html#af0786d10092850fd4a1f10d0bec927a7">ripple::ClosureCounter::join</a></div><div class="ttdeci">void join(char const *name, std::chrono::milliseconds wait, beast::Journal j)</div><div class="ttdoc">Returns once all counted in-flight closures are destroyed.</div><div class="ttdef"><b>Definition:</b> <a href="ClosureCounter_8h_source.html#l00152">ClosureCounter.h:152</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1io__latency__probe_html_adaee7525295db67f85573a6b73eff113"><div class="ttname"><a href="classbeast_1_1io__latency__probe.html#adaee7525295db67f85573a6b73eff113">beast::io_latency_probe::cancel_async</a></div><div class="ttdeci">void cancel_async()</div><div class="ttdef"><b>Definition:</b> <a href="io__latency__probe_8h_source.html#l00092">io_latency_probe.h:92</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1io__latency__probe_html_adaee7525295db67f85573a6b73eff113"><div class="ttname"><a href="classbeast_1_1io__latency__probe.html#adaee7525295db67f85573a6b73eff113">beast::io_latency_probe::cancel_async</a></div><div class="ttdeci">void cancel_async()</div><div class="ttdef"><b>Definition:</b> <a href="io__latency__probe_8h_source.html#l00091">io_latency_probe.h:91</a></div></div>
|
||||
<div class="ttc" id="amutex_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/mutex.html">mutex</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_1_1io__latency__sampler_html_a8e4a9bbcb22078b63c512c1c7f6742e8"><div class="ttname"><a href="classripple_1_1ApplicationImp_1_1io__latency__sampler.html#a8e4a9bbcb22078b63c512c1c7f6742e8">ripple::ApplicationImp::io_latency_sampler::io_latency_sampler</a></div><div class="ttdeci">io_latency_sampler(beast::insight::Event ev, beast::Journal journal, std::chrono::milliseconds interval, boost::asio::io_service &ios)</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00094">Application.cpp:94</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>
|
||||
@@ -2630,7 +2629,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_aa1ec2444a0bfa29b54f22ccd6d341e67"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#aa1ec2444a0bfa29b54f22ccd6d341e67">ripple::ApplicationImp::publisherManifests_</a></div><div class="ttdeci">std::unique_ptr< ManifestCache > publisherManifests_</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00194">Application.cpp:194</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1AmendmentTable_html"><div class="ttname"><a href="classripple_1_1AmendmentTable.html">ripple::AmendmentTable</a></div><div class="ttdoc">The amendment table stores the list of enabled and potential amendments.</div><div class="ttdef"><b>Definition:</b> <a href="AmendmentTable_8h_source.html#l00034">AmendmentTable.h:34</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_ab70191a0c4bd62e8a6975f8d618cd3d6"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#ab70191a0c4bd62e8a6975f8d618cd3d6">ripple::ApplicationImp::getMasterTransaction</a></div><div class="ttdeci">TransactionMaster & getMasterTransaction() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00594">Application.cpp:594</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a290d712d85ae7ad9fe05a68c81faaf9a"><div class="ttname"><a href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a">ripple::make_InboundTransactions</a></div><div class="ttdeci">std::unique_ptr< InboundTransactions > make_InboundTransactions(Application &app, Stoppable &parent, beast::insight::Collector::ptr const &collector, std::function< void(std::shared_ptr< SHAMap > const &, bool)> gotSet)</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00264">InboundTransactions.cpp:264</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a290d712d85ae7ad9fe05a68c81faaf9a"><div class="ttname"><a href="namespaceripple.html#a290d712d85ae7ad9fe05a68c81faaf9a">ripple::make_InboundTransactions</a></div><div class="ttdeci">std::unique_ptr< InboundTransactions > make_InboundTransactions(Application &app, Stoppable &parent, beast::insight::Collector::ptr const &collector, std::function< void(std::shared_ptr< SHAMap > const &, bool)> gotSet)</div><div class="ttdef"><b>Definition:</b> <a href="InboundTransactions_8cpp_source.html#l00270">InboundTransactions.cpp:270</a></div></div>
|
||||
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NetClock_html_a4c2428e178dca6689fa3fb4be0657107"><div class="ttname"><a href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">ripple::NetClock::time_point</a></div><div class="ttdeci">std::chrono::time_point< NetClock > time_point</div><div class="ttdef"><b>Definition:</b> <a href="chrono_8h_source.html#l00054">chrono.h:54</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_a6d275f46c1bb19d9a85917de5ca1b99ea99e70e98c78e9c336dbf5fa9e54405b1"><div class="ttname"><a href="classripple_1_1Config.html#a6d275f46c1bb19d9a85917de5ca1b99ea99e70e98c78e9c336dbf5fa9e54405b1">ripple::Config::LOAD_FILE</a></div><div class="ttdeci">@ LOAD_FILE</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00124">Config.h:124</a></div></div>
|
||||
@@ -2639,7 +2638,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a478d6ca4b353199e3b9f91b9cfebc7ba"><div class="ttname"><a href="classJson_1_1Value.html#a478d6ca4b353199e3b9f91b9cfebc7ba">Json::Value::isObjectOrNull</a></div><div class="ttdeci">bool isObjectOrNull() const</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l01033">json_value.cpp:1033</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a43721b94a94e90ed129060dfcfab2869"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a43721b94a94e90ed129060dfcfab2869">ripple::ApplicationImp::getValidations</a></div><div class="ttdeci">RCLValidations & getValidations() override</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l00738">Application.cpp:738</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplicationImp_html_a35adb8e590a254d96dedff53e7280e59"><div class="ttname"><a href="classripple_1_1ApplicationImp.html#a35adb8e590a254d96dedff53e7280e59">ripple::ApplicationImp::setEntropyTimer</a></div><div class="ttdeci">void setEntropyTimer()</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l01118">Application.cpp:1118</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a37eda33d77f068d8788e5a5a81a7cc77"><div class="ttname"><a href="namespaceripple.html#a37eda33d77f068d8788e5a5a81a7cc77">ripple::make_Application</a></div><div class="ttdeci">std::unique_ptr< Application > make_Application(std::unique_ptr< Config > config, std::unique_ptr< Logs > logs, std::unique_ptr< TimeKeeper > timeKeeper)</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02198">Application.cpp:2198</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a37eda33d77f068d8788e5a5a81a7cc77"><div class="ttname"><a href="namespaceripple.html#a37eda33d77f068d8788e5a5a81a7cc77">ripple::make_Application</a></div><div class="ttdeci">std::unique_ptr< Application > make_Application(std::unique_ptr< Config > config, std::unique_ptr< Logs > logs, std::unique_ptr< TimeKeeper > timeKeeper)</div><div class="ttdef"><b>Definition:</b> <a href="Application_8cpp_source.html#l02197">Application.cpp:2197</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ValidatorKeys_html_a183b4ce6c755f2788f75bfabd9a8dcb7"><div class="ttname"><a href="classripple_1_1ValidatorKeys.html#a183b4ce6c755f2788f75bfabd9a8dcb7">ripple::ValidatorKeys::manifest</a></div><div class="ttdeci">std::string manifest</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorKeys_8h_source.html#l00042">ValidatorKeys.h:42</a></div></div>
|
||||
<div class="ttc" id="aref_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/ref.html">std::ref</a></div><div class="ttdeci">T ref(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a19b3e12164eaf5f57ffd7dc2316f0f96"><div class="ttname"><a href="namespaceripple.html#a19b3e12164eaf5f57ffd7dc2316f0f96">ripple::make_ServerHandler</a></div><div class="ttdeci">std::unique_ptr< ServerHandler > make_ServerHandler(Application &app, Stoppable &parent, boost::asio::io_service &io_service, JobQueue &jobQueue, NetworkOPs &networkOPs, Resource::Manager &resourceManager, CollectorManager &cm)</div><div class="ttdef"><b>Definition:</b> <a href="ServerHandlerImp_8cpp_source.html#l01155">ServerHandlerImp.cpp:1155</a></div></div>
|
||||
@@ -2653,7 +2652,7 @@ $(function() {
|
||||
<div class="ttc" id="abasic_ifstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ifstream.html">std::ifstream</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a6110f68be52a49bc60252e46fa79f4b4"><div class="ttname"><a href="namespaceripple.html#a6110f68be52a49bc60252e46fa79f4b4">ripple::LgrDBName</a></div><div class="ttdeci">constexpr auto LgrDBName</div><div class="ttdef"><b>Definition:</b> <a href="DBInit_8h_source.html#l00043">DBInit.h:43</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a861d92d077665813aa32ad566b4b21fa"><div class="ttname"><a href="namespaceripple.html#a861d92d077665813aa32ad566b4b21fa">ripple::getRegisteredFeature</a></div><div class="ttdeci">boost::optional< uint256 > getRegisteredFeature(std::string const &name)</div><div class="ttdef"><b>Definition:</b> <a href="Feature_8cpp_source.html#l00143">Feature.cpp:143</a></div></div>
|
||||
<div class="ttc" id="anamespacebeast_html"><div class="ttname"><a href="namespacebeast.html">beast</a></div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00646">base_uint.h:646</a></div></div>
|
||||
<div class="ttc" id="anamespacebeast_html"><div class="ttname"><a href="namespacebeast.html">beast</a></div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00585">base_uint.h:585</a></div></div>
|
||||
<div class="ttc" id="anamespacestd_1_1chrono_html"><div class="ttname"><a href="http://en.cppreference.com/w/namespacestd_1_1chrono.html">std::chrono</a></div></div>
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
Reference in New Issue
Block a user