mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-23 12:35:50 +00:00
deploy: f28ba57b81
This commit is contained in:
@@ -951,321 +951,317 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> if (proposing)</div>
|
||||
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> v.setFlag(vfFullValidation);</div>
|
||||
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> </div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> if (ledger.ledger_->rules().enabled(featureHardenedValidations))</div>
|
||||
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> {</div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> <span class="comment">// Attest to the hash of what we consider to be the last fully</span></div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> <span class="comment">// validated ledger. This may be the hash of the ledger we are</span></div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> <span class="comment">// validating here, and that's fine.</span></div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> if (auto const vl = ledgerMaster_.getValidatedLedger())</div>
|
||||
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> v.setFieldH256(sfValidatedHash, vl->info().hash);</div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> <span class="comment">// Attest to the hash of what we consider to be the last fully</span></div>
|
||||
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> <span class="comment">// validated ledger. This may be the hash of the ledger we are</span></div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> <span class="comment">// validating here, and that's fine.</span></div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> if (auto const vl = ledgerMaster_.getValidatedLedger())</div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> v.setFieldH256(sfValidatedHash, vl->info().hash);</div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> </div>
|
||||
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> v.setFieldU64(sfCookie, valCookie_);</div>
|
||||
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> </div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> v.setFieldU64(sfCookie, valCookie_);</div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> </div>
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> <span class="comment">// Report our server version every flag ledger:</span></div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> if (ledger.ledger_->isVotingLedger())</div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> v.setFieldU64(</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> sfServerVersion, BuildInfo::getEncodedVersion());</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> }</div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> </div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> <span class="comment">// Report our load</span></div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> {</div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> auto const& ft = app_.getFeeTrack();</div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> auto const fee = std::max(ft.getLocalFee(), ft.getClusterFee());</div>
|
||||
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> if (fee > ft.getLoadBase())</div>
|
||||
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> v.setFieldU32(sfLoadFee, fee);</div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> }</div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> </div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <span class="comment">// If the next ledger is a flag ledger, suggest fee changes and</span></div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> <span class="comment">// new features:</span></div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> if (ledger.<a class="code hl_variable" href="classripple_1_1RCLCxLedger.html#a790fedb2406a5d248f2188da3c421dbc">ledger_</a>->isVotingLedger())</div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> {</div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> <span class="comment">// Fees:</span></div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> feeVote_->doValidation(</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> ledger.ledger_->fees(), ledger.ledger_->rules(), v);</div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> </div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <span class="comment">// Amendments</span></div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> <span class="comment">// FIXME: pass `v` and have the function insert the array</span></div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> <span class="comment">// directly?</span></div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> auto const amendments = app_.getAmendmentTable().doValidation(</div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> getEnabledAmendments(*ledger.ledger_));</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> </div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> if (!amendments.empty())</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> v.setFieldV256(</div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> sfAmendments, STVector256(sfAmendments, amendments));</div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> }</div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> });</div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> </div>
|
||||
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> <span class="keyword">auto</span> <span class="keyword">const</span> serialized = v->getSerialized();</div>
|
||||
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> </div>
|
||||
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> <span class="comment">// suppress it if we receive it</span></div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> app_.getHashRouter().addSuppression(<a class="code hl_function" href="namespaceripple.html#ae3f5bc352766a1a8dbf5270eb7dbc2e7">sha512Half</a>(<a class="code hl_function" href="namespaceripple.html#a93f2333b362ee67694b78f55eadf7805">makeSlice</a>(serialized)));</div>
|
||||
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> </div>
|
||||
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> <a class="code hl_function" href="namespaceripple.html#a4ed72df944d1c38ec7309fd896b5fd55">handleNewValidation</a>(app_, v, <span class="stringliteral">"local"</span>);</div>
|
||||
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> </div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <span class="comment">// Broadcast to all our peers:</span></div>
|
||||
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> protocol::TMValidation val;</div>
|
||||
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> val.set_validation(serialized.data(), serialized.size());</div>
|
||||
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> app_.overlay().broadcast(val);</div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> <span class="comment">// Report our server version every flag ledger:</span></div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> if (ledger.ledger_->isVotingLedger())</div>
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> v.setFieldU64(sfServerVersion, BuildInfo::getEncodedVersion());</div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> </div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> <span class="comment">// Report our load</span></div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> {</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> auto const& ft = app_.getFeeTrack();</div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> auto const fee = std::max(ft.getLocalFee(), ft.getClusterFee());</div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> if (fee > ft.getLoadBase())</div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> v.setFieldU32(sfLoadFee, fee);</div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> }</div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> </div>
|
||||
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <span class="comment">// If the next ledger is a flag ledger, suggest fee changes and</span></div>
|
||||
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="comment">// new features:</span></div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> if (ledger.<a class="code hl_variable" href="classripple_1_1RCLCxLedger.html#a790fedb2406a5d248f2188da3c421dbc">ledger_</a>->isVotingLedger())</div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> {</div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <span class="comment">// Fees:</span></div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> feeVote_->doValidation(</div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> ledger.ledger_->fees(), ledger.ledger_->rules(), v);</div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> </div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> <span class="comment">// Amendments</span></div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> <span class="comment">// FIXME: pass `v` and have the function insert the array</span></div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> <span class="comment">// directly?</span></div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> auto const amendments = app_.getAmendmentTable().doValidation(</div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> getEnabledAmendments(*ledger.ledger_));</div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> </div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> if (!amendments.empty())</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> v.setFieldV256(</div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> sfAmendments, STVector256(sfAmendments, amendments));</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> }</div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> });</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> </div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> <span class="keyword">auto</span> <span class="keyword">const</span> serialized = v->getSerialized();</div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> </div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> <span class="comment">// suppress it if we receive it</span></div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> app_.getHashRouter().addSuppression(<a class="code hl_function" href="namespaceripple.html#ae3f5bc352766a1a8dbf5270eb7dbc2e7">sha512Half</a>(<a class="code hl_function" href="namespaceripple.html#a93f2333b362ee67694b78f55eadf7805">makeSlice</a>(serialized)));</div>
|
||||
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> </div>
|
||||
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> <a class="code hl_function" href="namespaceripple.html#a4ed72df944d1c38ec7309fd896b5fd55">handleNewValidation</a>(app_, v, <span class="stringliteral">"local"</span>);</div>
|
||||
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> </div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <span class="comment">// Broadcast to all our peers:</span></div>
|
||||
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> protocol::TMValidation val;</div>
|
||||
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> val.set_validation(serialized.data(), serialized.size());</div>
|
||||
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> app_.overlay().broadcast(val);</div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> </div>
|
||||
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> <span class="comment">// Publish to all our subscribers:</span></div>
|
||||
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> app_.getOPs().pubValidation(v);</div>
|
||||
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> </div>
|
||||
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> <span class="comment">// Publish to all our subscribers:</span></div>
|
||||
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> app_.getOPs().pubValidation(v);</div>
|
||||
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span>}</div>
|
||||
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00891" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a602cb9acaeb931bb5a7b5a74de5f5280"> 891</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a602cb9acaeb931bb5a7b5a74de5f5280">RCLConsensus::Adaptor::onModeChange</a>(<a class="code hl_enumeration" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563e">ConsensusMode</a> before, <a class="code hl_enumeration" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563e">ConsensusMode</a> <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>)</div>
|
||||
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span>{</div>
|
||||
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a1f42c7a7ccbf473e789dba4721b9004e">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Consensus mode change before="</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(before)</div>
|
||||
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> << <span class="stringliteral">", after="</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(<a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>);</div>
|
||||
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> </div>
|
||||
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> <span class="comment">// If we were proposing but aren't any longer, we need to reset the</span></div>
|
||||
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> <span class="comment">// censorship tracking to avoid bogus warnings.</span></div>
|
||||
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> <span class="keywordflow">if</span> ((before == <a class="code hl_enumvalue" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563ea80dcf57f5ecd4be3cbfa37eccbcb6f44">ConsensusMode::proposing</a> ||</div>
|
||||
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> before == <a class="code hl_enumvalue" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563eaea5234685f43dcab142e132c0e7be2ce">ConsensusMode::observing</a>) &&</div>
|
||||
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> before != <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>)</div>
|
||||
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a680ee42fcc8e44fb714bd82ec20b3ba3">censorshipDetector_</a>.reset();</div>
|
||||
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> </div>
|
||||
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a2085bf2fb2455d014c97c52a8dcd9c0f">mode_</a> = <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>;</div>
|
||||
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> </div>
|
||||
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00895" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a602cb9acaeb931bb5a7b5a74de5f5280"> 895</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a602cb9acaeb931bb5a7b5a74de5f5280">RCLConsensus::Adaptor::onModeChange</a>(<a class="code hl_enumeration" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563e">ConsensusMode</a> before, <a class="code hl_enumeration" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563e">ConsensusMode</a> <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>)</div>
|
||||
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span>{</div>
|
||||
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a1f42c7a7ccbf473e789dba4721b9004e">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Consensus mode change before="</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(before)</div>
|
||||
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> << <span class="stringliteral">", after="</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(<a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>);</div>
|
||||
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> </div>
|
||||
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> <span class="comment">// If we were proposing but aren't any longer, we need to reset the</span></div>
|
||||
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> <span class="comment">// censorship tracking to avoid bogus warnings.</span></div>
|
||||
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> <span class="keywordflow">if</span> ((before == <a class="code hl_enumvalue" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563ea80dcf57f5ecd4be3cbfa37eccbcb6f44">ConsensusMode::proposing</a> ||</div>
|
||||
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> before == <a class="code hl_enumvalue" href="namespaceripple.html#a33f8b6e68b5f63faf2e9755cc251563eaea5234685f43dcab142e132c0e7be2ce">ConsensusMode::observing</a>) &&</div>
|
||||
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> before != <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>)</div>
|
||||
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a680ee42fcc8e44fb714bd82ec20b3ba3">censorshipDetector_</a>.reset();</div>
|
||||
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> </div>
|
||||
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a2085bf2fb2455d014c97c52a8dcd9c0f">mode_</a> = <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>;</div>
|
||||
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span>}</div>
|
||||
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> </div>
|
||||
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
|
||||
<div class="foldopen" id="foldopen00907" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#acdab4291925cbabf861b8019c76355ea"> 907</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#acdab4291925cbabf861b8019c76355ea">RCLConsensus::getJson</a>(<span class="keywordtype">bool</span> full)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> ret;</div>
|
||||
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> {</div>
|
||||
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> ret = <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.getJson(full);</div>
|
||||
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> }</div>
|
||||
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> ret[<span class="stringliteral">"validating"</span>] = <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#abc9a72a85632483bb04f03f00af63db3">adaptor_</a>.<a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a52d6c6005bc8066ec68d7e81038a6906">validating</a>();</div>
|
||||
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> <span class="keywordflow">return</span> ret;</div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> </div>
|
||||
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span><a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a></div>
|
||||
<div class="foldopen" id="foldopen00911" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#acdab4291925cbabf861b8019c76355ea"> 911</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#acdab4291925cbabf861b8019c76355ea">RCLConsensus::getJson</a>(<span class="keywordtype">bool</span> full)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> ret;</div>
|
||||
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> {</div>
|
||||
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> ret = <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.getJson(full);</div>
|
||||
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> }</div>
|
||||
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> ret[<span class="stringliteral">"validating"</span>] = <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#abc9a72a85632483bb04f03f00af63db3">adaptor_</a>.<a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a52d6c6005bc8066ec68d7e81038a6906">validating</a>();</div>
|
||||
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <span class="keywordflow">return</span> ret;</div>
|
||||
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span>}</div>
|
||||
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> </div>
|
||||
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00919" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#ab2cb3bf06f3e6f789183e3ed4fbfc730"> 919</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#ab2cb3bf06f3e6f789183e3ed4fbfc730">RCLConsensus::timerEntry</a>(</div>
|
||||
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<std::stringstream></a> <span class="keyword">const</span>& clog)</div>
|
||||
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span>{</div>
|
||||
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> {</div>
|
||||
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.timerEntry(now, clog);</div>
|
||||
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> }</div>
|
||||
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="classripple_1_1SHAMapMissingNode.html">SHAMapMissingNode</a> <span class="keyword">const</span>& mn)</div>
|
||||
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> {</div>
|
||||
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> <span class="comment">// This should never happen</span></div>
|
||||
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> ss;</div>
|
||||
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> ss << <span class="stringliteral">"During consensus timerEntry: "</span> << mn.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << ss.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>();</div>
|
||||
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> CLOG(clog) << ss.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>();</div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> <a class="code hl_function" href="namespaceripple.html#ad99788f1aca6ce31a1fe8365eee1bba3">Rethrow</a>();</div>
|
||||
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> }</div>
|
||||
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> </div>
|
||||
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00923" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#ab2cb3bf06f3e6f789183e3ed4fbfc730"> 923</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#ab2cb3bf06f3e6f789183e3ed4fbfc730">RCLConsensus::timerEntry</a>(</div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<std::stringstream></a> <span class="keyword">const</span>& clog)</div>
|
||||
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span>{</div>
|
||||
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> {</div>
|
||||
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.timerEntry(now, clog);</div>
|
||||
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> }</div>
|
||||
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="classripple_1_1SHAMapMissingNode.html">SHAMapMissingNode</a> <span class="keyword">const</span>& mn)</div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> {</div>
|
||||
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> <span class="comment">// This should never happen</span></div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> ss;</div>
|
||||
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> ss << <span class="stringliteral">"During consensus timerEntry: "</span> << mn.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << ss.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>();</div>
|
||||
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> CLOG(clog) << ss.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>();</div>
|
||||
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> <a class="code hl_function" href="namespaceripple.html#ad99788f1aca6ce31a1fe8365eee1bba3">Rethrow</a>();</div>
|
||||
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> }</div>
|
||||
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span>}</div>
|
||||
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> </div>
|
||||
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00940" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#a269eadc254a964bcd8d79876420c379b"> 940</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#a269eadc254a964bcd8d79876420c379b">RCLConsensus::gotTxSet</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now, <a class="code hl_class" href="classripple_1_1RCLTxSet.html">RCLTxSet</a> <span class="keyword">const</span>& txSet)</div>
|
||||
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span>{</div>
|
||||
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span> {</div>
|
||||
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.gotTxSet(now, txSet);</div>
|
||||
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> }</div>
|
||||
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="classripple_1_1SHAMapMissingNode.html">SHAMapMissingNode</a> <span class="keyword">const</span>& mn)</div>
|
||||
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> {</div>
|
||||
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> <span class="comment">// This should never happen</span></div>
|
||||
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"During consensus gotTxSet: "</span> << mn.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> <a class="code hl_function" href="namespaceripple.html#ad99788f1aca6ce31a1fe8365eee1bba3">Rethrow</a>();</div>
|
||||
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span> }</div>
|
||||
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> </div>
|
||||
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00944" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#a269eadc254a964bcd8d79876420c379b"> 944</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#a269eadc254a964bcd8d79876420c379b">RCLConsensus::gotTxSet</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now, <a class="code hl_class" href="classripple_1_1RCLTxSet.html">RCLTxSet</a> <span class="keyword">const</span>& txSet)</div>
|
||||
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span>{</div>
|
||||
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> {</div>
|
||||
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.gotTxSet(now, txSet);</div>
|
||||
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> }</div>
|
||||
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="classripple_1_1SHAMapMissingNode.html">SHAMapMissingNode</a> <span class="keyword">const</span>& mn)</div>
|
||||
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</span> {</div>
|
||||
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span> <span class="comment">// This should never happen</span></div>
|
||||
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"During consensus gotTxSet: "</span> << mn.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/error/exception/what.html">what</a>();</div>
|
||||
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span> <a class="code hl_function" href="namespaceripple.html#ad99788f1aca6ce31a1fe8365eee1bba3">Rethrow</a>();</div>
|
||||
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> }</div>
|
||||
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span>}</div>
|
||||
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> </div>
|
||||
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> </div>
|
||||
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00958" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#a41b5d07d847a52a3408b8e366b8ee53b"> 958</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#a41b5d07d847a52a3408b8e366b8ee53b">RCLConsensus::simulate</a>(</div>
|
||||
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<std::chrono::milliseconds></a> consensusDelay)</div>
|
||||
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span>{</div>
|
||||
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.simulate(now, consensusDelay);</div>
|
||||
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> </div>
|
||||
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> </div>
|
||||
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen00962" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#a41b5d07d847a52a3408b8e366b8ee53b"> 962</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#a41b5d07d847a52a3408b8e366b8ee53b">RCLConsensus::simulate</a>(</div>
|
||||
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<std::chrono::milliseconds></a> consensusDelay)</div>
|
||||
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span>{</div>
|
||||
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.simulate(now, consensusDelay);</div>
|
||||
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span>}</div>
|
||||
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span> </div>
|
||||
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen00967" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#aa0e46b668adf5d791806adf85d852c11"> 967</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#aa0e46b668adf5d791806adf85d852c11">RCLConsensus::peerProposal</a>(</div>
|
||||
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> <a class="code hl_class" href="classripple_1_1RCLCxPeerPos.html">RCLCxPeerPos</a> <span class="keyword">const</span>& newProposal)</div>
|
||||
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span>{</div>
|
||||
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.peerProposal(now, newProposal);</div>
|
||||
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> </div>
|
||||
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen00971" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#aa0e46b668adf5d791806adf85d852c11"> 971</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#aa0e46b668adf5d791806adf85d852c11">RCLConsensus::peerProposal</a>(</div>
|
||||
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span> <a class="code hl_class" href="classripple_1_1RCLCxPeerPos.html">RCLCxPeerPos</a> <span class="keyword">const</span>& newProposal)</div>
|
||||
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span>{</div>
|
||||
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.peerProposal(now, newProposal);</div>
|
||||
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span>}</div>
|
||||
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span> </div>
|
||||
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen00976" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd"> 976</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd">RCLConsensus::Adaptor::preStartRound</a>(</div>
|
||||
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span> <a class="code hl_class" href="classripple_1_1RCLCxLedger.html">RCLCxLedger</a> <span class="keyword">const</span>& prevLgr,</div>
|
||||
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<NodeID></a> <span class="keyword">const</span>& nowTrusted)</div>
|
||||
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span>{</div>
|
||||
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> <span class="comment">// We have a key, we do not want out of sync validations after a restart</span></div>
|
||||
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> <span class="comment">// and are not amendment blocked.</span></div>
|
||||
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> validating_ = validatorKeys_.keys &&</div>
|
||||
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> prevLgr.<a class="code hl_function" href="classripple_1_1RCLCxLedger.html#a318d581c9dc0d0ba14d3877ab93b7547">seq</a>() >= app_.getMaxDisallowedLedger() &&</div>
|
||||
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> !app_.getOPs().isBlocked();</div>
|
||||
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span> </div>
|
||||
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> <span class="comment">// If we are not running in standalone mode and there's a configured UNL,</span></div>
|
||||
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> <span class="comment">// check to make sure that it's not expired.</span></div>
|
||||
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> <span class="keywordflow">if</span> (validating_ && !app_.config().standalone() && app_.validators().count())</div>
|
||||
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> {</div>
|
||||
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> <span class="keyword">auto</span> <span class="keyword">const</span> when = app_.validators().expires();</div>
|
||||
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> </div>
|
||||
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> <span class="keywordflow">if</span> (!when || *when < app_.timeKeeper().now())</div>
|
||||
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> {</div>
|
||||
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Voluntarily bowing out of consensus process "</span></div>
|
||||
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> <span class="stringliteral">"because of an expired validator list."</span>;</div>
|
||||
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> validating_ = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> }</div>
|
||||
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> }</div>
|
||||
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> </div>
|
||||
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> synced = app_.getOPs().getOperatingMode() == <a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aba7de5bc6888294e5884b024a4c894f1">OperatingMode::FULL</a>;</div>
|
||||
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> </div>
|
||||
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">if</span> (validating_)</div>
|
||||
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> {</div>
|
||||
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Entering consensus process, validating, synced="</span></div>
|
||||
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> << (synced ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>);</div>
|
||||
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> }</div>
|
||||
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> {</div>
|
||||
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> <span class="comment">// Otherwise we just want to monitor the validation process.</span></div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Entering consensus process, watching, synced="</span></div>
|
||||
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> << (synced ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>);</div>
|
||||
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> }</div>
|
||||
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> </div>
|
||||
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> <span class="comment">// Notify inbound ledgers that we are starting a new round</span></div>
|
||||
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> inboundTransactions_.newRound(prevLgr.<a class="code hl_function" href="classripple_1_1RCLCxLedger.html#a318d581c9dc0d0ba14d3877ab93b7547">seq</a>());</div>
|
||||
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> </div>
|
||||
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> <span class="comment">// Notify NegativeUNLVote that new validators are added</span></div>
|
||||
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> <span class="keywordflow">if</span> (prevLgr.<a class="code hl_variable" href="classripple_1_1RCLCxLedger.html#a790fedb2406a5d248f2188da3c421dbc">ledger_</a>->rules().enabled(featureNegativeUNL) &&</div>
|
||||
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> !nowTrusted.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/unordered_set/empty.html">empty</a>())</div>
|
||||
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> nUnlVote_.newValidators(prevLgr.<a class="code hl_function" href="classripple_1_1RCLCxLedger.html#a318d581c9dc0d0ba14d3877ab93b7547">seq</a>() + 1, nowTrusted);</div>
|
||||
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> </div>
|
||||
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> <span class="comment">// propose only if we're in sync with the network (and validating)</span></div>
|
||||
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> <span class="keywordflow">return</span> validating_ && synced;</div>
|
||||
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span> </div>
|
||||
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen00980" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd"> 980</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd">RCLConsensus::Adaptor::preStartRound</a>(</div>
|
||||
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> <a class="code hl_class" href="classripple_1_1RCLCxLedger.html">RCLCxLedger</a> <span class="keyword">const</span>& prevLgr,</div>
|
||||
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<NodeID></a> <span class="keyword">const</span>& nowTrusted)</div>
|
||||
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span>{</div>
|
||||
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> <span class="comment">// We have a key, we do not want out of sync validations after a restart</span></div>
|
||||
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span> <span class="comment">// and are not amendment blocked.</span></div>
|
||||
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> validating_ = validatorKeys_.keys &&</div>
|
||||
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> prevLgr.<a class="code hl_function" href="classripple_1_1RCLCxLedger.html#a318d581c9dc0d0ba14d3877ab93b7547">seq</a>() >= app_.getMaxDisallowedLedger() &&</div>
|
||||
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> !app_.getOPs().isBlocked();</div>
|
||||
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> </div>
|
||||
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> <span class="comment">// If we are not running in standalone mode and there's a configured UNL,</span></div>
|
||||
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> <span class="comment">// check to make sure that it's not expired.</span></div>
|
||||
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> <span class="keywordflow">if</span> (validating_ && !app_.config().standalone() && app_.validators().count())</div>
|
||||
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> {</div>
|
||||
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> <span class="keyword">auto</span> <span class="keyword">const</span> when = app_.validators().expires();</div>
|
||||
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> </div>
|
||||
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <span class="keywordflow">if</span> (!when || *when < app_.timeKeeper().now())</div>
|
||||
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> {</div>
|
||||
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"Voluntarily bowing out of consensus process "</span></div>
|
||||
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> <span class="stringliteral">"because of an expired validator list."</span>;</div>
|
||||
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> validating_ = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> }</div>
|
||||
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> }</div>
|
||||
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> </div>
|
||||
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> synced = app_.getOPs().getOperatingMode() == <a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aba7de5bc6888294e5884b024a4c894f1">OperatingMode::FULL</a>;</div>
|
||||
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> </div>
|
||||
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> <span class="keywordflow">if</span> (validating_)</div>
|
||||
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> {</div>
|
||||
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Entering consensus process, validating, synced="</span></div>
|
||||
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> << (synced ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>);</div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> }</div>
|
||||
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> {</div>
|
||||
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> <span class="comment">// Otherwise we just want to monitor the validation process.</span></div>
|
||||
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> JLOG(<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <span class="stringliteral">"Entering consensus process, watching, synced="</span></div>
|
||||
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> << (synced ? <span class="stringliteral">"yes"</span> : <span class="stringliteral">"no"</span>);</div>
|
||||
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> }</div>
|
||||
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> </div>
|
||||
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> <span class="comment">// Notify inbound ledgers that we are starting a new round</span></div>
|
||||
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> inboundTransactions_.newRound(prevLgr.<a class="code hl_function" href="classripple_1_1RCLCxLedger.html#a318d581c9dc0d0ba14d3877ab93b7547">seq</a>());</div>
|
||||
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> </div>
|
||||
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">// Notify NegativeUNLVote that new validators are added</span></div>
|
||||
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> <span class="keywordflow">if</span> (prevLgr.<a class="code hl_variable" href="classripple_1_1RCLCxLedger.html#a790fedb2406a5d248f2188da3c421dbc">ledger_</a>->rules().enabled(featureNegativeUNL) &&</div>
|
||||
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> !nowTrusted.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/unordered_set/empty.html">empty</a>())</div>
|
||||
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> nUnlVote_.newValidators(prevLgr.<a class="code hl_function" href="classripple_1_1RCLCxLedger.html#a318d581c9dc0d0ba14d3877ab93b7547">seq</a>() + 1, nowTrusted);</div>
|
||||
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> </div>
|
||||
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> <span class="comment">// propose only if we're in sync with the network (and validating)</span></div>
|
||||
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> <span class="keywordflow">return</span> validating_ && synced;</div>
|
||||
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span>}</div>
|
||||
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen01027" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#ad0aa2492ff95815e202bd5801b37e030"> 1027</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#ad0aa2492ff95815e202bd5801b37e030">RCLConsensus::Adaptor::haveValidated</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> <span class="keywordflow">return</span> ledgerMaster_.haveValidated();</div>
|
||||
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> </div>
|
||||
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen01031" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#ad0aa2492ff95815e202bd5801b37e030"> 1031</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#ad0aa2492ff95815e202bd5801b37e030">RCLConsensus::Adaptor::haveValidated</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> <span class="keywordflow">return</span> ledgerMaster_.haveValidated();</div>
|
||||
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span>}</div>
|
||||
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span> </div>
|
||||
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a></div>
|
||||
<div class="foldopen" id="foldopen01033" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a9f9e5d015fc6b18e3726ce51658b257c"> 1033</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a9f9e5d015fc6b18e3726ce51658b257c">RCLConsensus::Adaptor::getValidLedgerIndex</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> <span class="keywordflow">return</span> ledgerMaster_.getValidLedgerIndex();</div>
|
||||
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> </div>
|
||||
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">LedgerIndex</a></div>
|
||||
<div class="foldopen" id="foldopen01037" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a9f9e5d015fc6b18e3726ce51658b257c"> 1037</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a9f9e5d015fc6b18e3726ce51658b257c">RCLConsensus::Adaptor::getValidLedgerIndex</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span> <span class="keywordflow">return</span> ledgerMaster_.getValidLedgerIndex();</div>
|
||||
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span>}</div>
|
||||
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> </div>
|
||||
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::size_t, hash_set<RCLConsensus::Adaptor::NodeKey_t></a>></div>
|
||||
<div class="foldopen" id="foldopen01039" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af8d2a95620b4b70e89890757d9bfb528"> 1039</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af8d2a95620b4b70e89890757d9bfb528">RCLConsensus::Adaptor::getQuorumKeys</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">return</span> app_.validators().getQuorumKeys();</div>
|
||||
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> </div>
|
||||
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<std::size_t, hash_set<RCLConsensus::Adaptor::NodeKey_t></a>></div>
|
||||
<div class="foldopen" id="foldopen01043" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af8d2a95620b4b70e89890757d9bfb528"> 1043</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af8d2a95620b4b70e89890757d9bfb528">RCLConsensus::Adaptor::getQuorumKeys</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> <span class="keywordflow">return</span> app_.validators().getQuorumKeys();</div>
|
||||
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span>}</div>
|
||||
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> </div>
|
||||
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
|
||||
<div class="foldopen" id="foldopen01045" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd"> 1045</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd">RCLConsensus::Adaptor::laggards</a>(</div>
|
||||
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">Ledger_t::Seq</a> <span class="keyword">const</span> seq,</div>
|
||||
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<RCLConsensus::Adaptor::NodeKey_t></a>& trustedKeys)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> <span class="keywordflow">return</span> app_.getValidations().laggards(seq, trustedKeys);</div>
|
||||
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> </div>
|
||||
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
|
||||
<div class="foldopen" id="foldopen01049" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd"> 1049</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd">RCLConsensus::Adaptor::laggards</a>(</div>
|
||||
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">Ledger_t::Seq</a> <span class="keyword">const</span> seq,</div>
|
||||
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<RCLConsensus::Adaptor::NodeKey_t></a>& trustedKeys)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordflow">return</span> app_.getValidations().laggards(seq, trustedKeys);</div>
|
||||
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span>}</div>
|
||||
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> </div>
|
||||
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen01053" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a89732653d5e60191140d595d9192bc83"> 1053</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a89732653d5e60191140d595d9192bc83">RCLConsensus::Adaptor::validator</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> <span class="keywordflow">return</span> validatorKeys_.keys.has_value();</div>
|
||||
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> </div>
|
||||
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span><span class="keywordtype">bool</span></div>
|
||||
<div class="foldopen" id="foldopen01057" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a89732653d5e60191140d595d9192bc83"> 1057</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#a89732653d5e60191140d595d9192bc83">RCLConsensus::Adaptor::validator</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">return</span> validatorKeys_.keys.has_value();</div>
|
||||
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span>}</div>
|
||||
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> </div>
|
||||
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen01059" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af204a12bd25345da7fbdb8d267a1e23f"> 1059</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af204a12bd25345da7fbdb8d267a1e23f">RCLConsensus::Adaptor::updateOperatingMode</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> <span class="keyword">const</span> positions)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> <span class="keywordflow">if</span> (!positions && app_.getOPs().isFull())</div>
|
||||
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> app_.getOPs().setMode(<a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aa5afd6edd5336d91316964e493936858">OperatingMode::CONNECTED</a>);</div>
|
||||
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> </div>
|
||||
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen01063" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af204a12bd25345da7fbdb8d267a1e23f"> 1063</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#af204a12bd25345da7fbdb8d267a1e23f">RCLConsensus::Adaptor::updateOperatingMode</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> <span class="keyword">const</span> positions)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span><span class="keyword"></span>{</div>
|
||||
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordflow">if</span> (!positions && app_.getOPs().isFull())</div>
|
||||
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> app_.getOPs().setMode(<a class="code hl_enumvalue" href="namespaceripple.html#a597325d7385ff9c19686e14e5bead510aa5afd6edd5336d91316964e493936858">OperatingMode::CONNECTED</a>);</div>
|
||||
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span>}</div>
|
||||
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> </div>
|
||||
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen01066" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#aa36677de1e4e82554a4290f9a6172d83"> 1066</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#aa36677de1e4e82554a4290f9a6172d83">RCLConsensus::startRound</a>(</div>
|
||||
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> <a class="code hl_class" href="classripple_1_1base__uint.html">RCLCxLedger::ID</a> <span class="keyword">const</span>& prevLgrId,</div>
|
||||
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> <a class="code hl_class" href="classripple_1_1RCLCxLedger.html">RCLCxLedger</a> <span class="keyword">const</span>& prevLgr,</div>
|
||||
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<NodeID></a> <span class="keyword">const</span>& nowUntrusted,</div>
|
||||
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<NodeID></a> <span class="keyword">const</span>& nowTrusted,</div>
|
||||
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<std::stringstream></a> <span class="keyword">const</span>& clog)</div>
|
||||
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span>{</div>
|
||||
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.startRound(</div>
|
||||
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> now,</div>
|
||||
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> prevLgrId,</div>
|
||||
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> prevLgr,</div>
|
||||
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> nowUntrusted,</div>
|
||||
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#abc9a72a85632483bb04f03f00af63db3">adaptor_</a>.<a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd">preStartRound</a>(prevLgr, nowTrusted),</div>
|
||||
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> clog);</div>
|
||||
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> </div>
|
||||
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span><span class="keywordtype">void</span></div>
|
||||
<div class="foldopen" id="foldopen01070" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"><a class="line" href="classripple_1_1RCLConsensus.html#aa36677de1e4e82554a4290f9a6172d83"> 1070</a></span><a class="code hl_function" href="classripple_1_1RCLConsensus.html#aa36677de1e4e82554a4290f9a6172d83">RCLConsensus::startRound</a>(</div>
|
||||
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> <span class="keyword">const</span>& now,</div>
|
||||
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> <a class="code hl_class" href="classripple_1_1base__uint.html">RCLCxLedger::ID</a> <span class="keyword">const</span>& prevLgrId,</div>
|
||||
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> <a class="code hl_class" href="classripple_1_1RCLCxLedger.html">RCLCxLedger</a> <span class="keyword">const</span>& prevLgr,</div>
|
||||
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<NodeID></a> <span class="keyword">const</span>& nowUntrusted,</div>
|
||||
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/unordered_set.html">hash_set<NodeID></a> <span class="keyword">const</span>& nowTrusted,</div>
|
||||
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr<std::stringstream></a> <span class="keyword">const</span>& clog)</div>
|
||||
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span>{</div>
|
||||
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/lock_guard.html">std::lock_guard</a> _{<a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">mutex_</a>};</div>
|
||||
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">consensus_</a>.startRound(</div>
|
||||
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> now,</div>
|
||||
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> prevLgrId,</div>
|
||||
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> prevLgr,</div>
|
||||
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> nowUntrusted,</div>
|
||||
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#abc9a72a85632483bb04f03f00af63db3">adaptor_</a>.<a class="code hl_function" href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd">preStartRound</a>(prevLgr, nowTrusted),</div>
|
||||
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> clog);</div>
|
||||
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span>}</div>
|
||||
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> </div>
|
||||
<div class="foldopen" id="foldopen01084" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"><a class="line" href="classripple_1_1RclConsensusLogger.html#a62b616635dd7bca3503b13ad3e358d59"> 1084</a></span><a class="code hl_function" href="classripple_1_1RclConsensusLogger.html#a62b616635dd7bca3503b13ad3e358d59">RclConsensusLogger::RclConsensusLogger</a>(</div>
|
||||
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordtype">char</span> <span class="keyword">const</span>* label,</div>
|
||||
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> <a class="code hl_function" href="classripple_1_1RCLConsensus.html#a55a20570465648d3398698c7f2640cae">validating</a>,</div>
|
||||
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
|
||||
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> : <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>(j)</div>
|
||||
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span>{</div>
|
||||
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> <span class="keywordflow">if</span> (!validating && !j.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>())</div>
|
||||
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#aa7947aaac11956a173d35768b7bc95b2">start_</a> = <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock/now.html">std::chrono::steady_clock::now</a>();</div>
|
||||
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#ab0773f83dee4a3df01d5a9f365a2a917">ss_</a> = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::make_unique<std::stringstream></a>();</div>
|
||||
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> = <span class="stringliteral">"ConsensusLogger "</span>;</div>
|
||||
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> += label;</div>
|
||||
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> += <span class="stringliteral">": "</span>;</div>
|
||||
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> </div>
|
||||
<div class="foldopen" id="foldopen01088" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"><a class="line" href="classripple_1_1RclConsensusLogger.html#a62b616635dd7bca3503b13ad3e358d59"> 1088</a></span><a class="code hl_function" href="classripple_1_1RclConsensusLogger.html#a62b616635dd7bca3503b13ad3e358d59">RclConsensusLogger::RclConsensusLogger</a>(</div>
|
||||
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> <span class="keywordtype">char</span> <span class="keyword">const</span>* label,</div>
|
||||
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> <a class="code hl_function" href="classripple_1_1RCLConsensus.html#a55a20570465648d3398698c7f2640cae">validating</a>,</div>
|
||||
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
|
||||
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> : <a class="code hl_variable" href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">j_</a>(j)</div>
|
||||
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span>{</div>
|
||||
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordflow">if</span> (!validating && !j.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>())</div>
|
||||
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#aa7947aaac11956a173d35768b7bc95b2">start_</a> = <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock/now.html">std::chrono::steady_clock::now</a>();</div>
|
||||
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#ab0773f83dee4a3df01d5a9f365a2a917">ss_</a> = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::make_unique<std::stringstream></a>();</div>
|
||||
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> = <span class="stringliteral">"ConsensusLogger "</span>;</div>
|
||||
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> += label;</div>
|
||||
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> += <span class="stringliteral">": "</span>;</div>
|
||||
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span>}</div>
|
||||
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> </div>
|
||||
<div class="foldopen" id="foldopen01099" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"><a class="line" href="classripple_1_1RclConsensusLogger.html#aa6afcdf2752a0c206942dc1a057ffc3e"> 1099</a></span><a class="code hl_function" href="classripple_1_1RclConsensusLogger.html#aa6afcdf2752a0c206942dc1a057ffc3e">RclConsensusLogger::~RclConsensusLogger</a>()</div>
|
||||
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span>{</div>
|
||||
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#ab0773f83dee4a3df01d5a9f365a2a917">ss_</a>)</div>
|
||||
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <span class="keyword">auto</span> <span class="keyword">const</span> duration = std::chrono::duration_cast<std::chrono::milliseconds>(</div>
|
||||
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock/now.html">std::chrono::steady_clock::now</a>() - <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#aa7947aaac11956a173d35768b7bc95b2">start_</a>);</div>
|
||||
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> outSs;</div>
|
||||
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> outSs << <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> << <span class="stringliteral">"duration "</span> << (duration.count() / 1000) << <span class="charliteral">'.'</span></div>
|
||||
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> << <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a>(3) << <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/setfill.html">std::setfill</a>(<span class="charliteral">'0'</span>) << (duration.count() % 1000)</div>
|
||||
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> << <span class="stringliteral">"s. "</span> << <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#ab0773f83dee4a3df01d5a9f365a2a917">ss_</a>-><a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>();</div>
|
||||
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a79d994c030dca64010c0195207af3117">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a558ee61e7d49557254dae57a5b022d3a">sink</a>().<a class="code hl_function" href="classbeast_1_1Journal_1_1Sink.html#ab3c494b44e89acc64314906d01198761">writeAlways</a>(<a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73bea2a7ebee41624279bb6f58f8999ab7b30">beast::severities::kInfo</a>, outSs.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
|
||||
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> </div>
|
||||
<div class="foldopen" id="foldopen01103" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"><a class="line" href="classripple_1_1RclConsensusLogger.html#aa6afcdf2752a0c206942dc1a057ffc3e"> 1103</a></span><a class="code hl_function" href="classripple_1_1RclConsensusLogger.html#aa6afcdf2752a0c206942dc1a057ffc3e">RclConsensusLogger::~RclConsensusLogger</a>()</div>
|
||||
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span>{</div>
|
||||
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#ab0773f83dee4a3df01d5a9f365a2a917">ss_</a>)</div>
|
||||
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> <span class="keyword">auto</span> <span class="keyword">const</span> duration = std::chrono::duration_cast<std::chrono::milliseconds>(</div>
|
||||
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock/now.html">std::chrono::steady_clock::now</a>() - <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#aa7947aaac11956a173d35768b7bc95b2">start_</a>);</div>
|
||||
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> outSs;</div>
|
||||
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> outSs << <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">header_</a> << <span class="stringliteral">"duration "</span> << (duration.count() / 1000) << <span class="charliteral">'.'</span></div>
|
||||
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> << <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a>(3) << <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/setfill.html">std::setfill</a>(<span class="charliteral">'0'</span>) << (duration.count() % 1000)</div>
|
||||
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> << <span class="stringliteral">"s. "</span> << <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#ab0773f83dee4a3df01d5a9f365a2a917">ss_</a>-><a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>();</div>
|
||||
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> <a class="code hl_variable" href="classripple_1_1RclConsensusLogger.html#a79d994c030dca64010c0195207af3117">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a558ee61e7d49557254dae57a5b022d3a">sink</a>().<a class="code hl_function" href="classbeast_1_1Journal_1_1Sink.html#ab3c494b44e89acc64314906d01198761">writeAlways</a>(<a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73bea2a7ebee41624279bb6f58f8999ab7b30">beast::severities::kInfo</a>, outSs.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
|
||||
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> </div>
|
||||
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> </div>
|
||||
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="ttc" id="aalgorithm_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/header/algorithm.html">algorithm</a></div></div>
|
||||
<div class="ttc" id="abasic_ostringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostringstream.html">std::ostringstream</a></div></div>
|
||||
<div class="ttc" id="abasic_stringstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a></div></div>
|
||||
@@ -1301,40 +1297,40 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a44b703ba75ddf081e1d1e4f026137ebe"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a44b703ba75ddf081e1d1e4f026137ebe">ripple::RCLConsensus::Adaptor::doAccept</a></div><div class="ttdeci">void doAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson)</div><div class="ttdoc">Accept a new ledger based on the given transactions.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00445">RCLConsensus.cpp:445</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a4c0ffe5a89562947a789cd6b6ac51a94"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a4c0ffe5a89562947a789cd6b6ac51a94">ripple::RCLConsensus::Adaptor::Adaptor</a></div><div class="ttdeci">Adaptor(Application &app, std::unique_ptr< FeeVote > &&feeVote, LedgerMaster &ledgerMaster, LocalTxs &localTxs, InboundTransactions &inboundTransactions, ValidatorKeys const &validatorKeys, beast::Journal journal)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00057">RCLConsensus.cpp:57</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a52d6c6005bc8066ec68d7e81038a6906"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a52d6c6005bc8066ec68d7e81038a6906">ripple::RCLConsensus::Adaptor::validating</a></div><div class="ttdeci">bool validating() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00092">RCLConsensus.h:92</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a602cb9acaeb931bb5a7b5a74de5f5280"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a602cb9acaeb931bb5a7b5a74de5f5280">ripple::RCLConsensus::Adaptor::onModeChange</a></div><div class="ttdeci">void onModeChange(ConsensusMode before, ConsensusMode after)</div><div class="ttdoc">Notified of change in consensus mode.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00895">RCLConsensus.cpp:895</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a64490ffd82ff2b75da2406bb52fcd7dd"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd">ripple::RCLConsensus::Adaptor::laggards</a></div><div class="ttdeci">std::size_t laggards(Ledger_t::Seq const seq, hash_set< NodeKey_t > &trustedKeys) const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01049">RCLConsensus.cpp:1049</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a602cb9acaeb931bb5a7b5a74de5f5280"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a602cb9acaeb931bb5a7b5a74de5f5280">ripple::RCLConsensus::Adaptor::onModeChange</a></div><div class="ttdeci">void onModeChange(ConsensusMode before, ConsensusMode after)</div><div class="ttdoc">Notified of change in consensus mode.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00891">RCLConsensus.cpp:891</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a64490ffd82ff2b75da2406bb52fcd7dd"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a64490ffd82ff2b75da2406bb52fcd7dd">ripple::RCLConsensus::Adaptor::laggards</a></div><div class="ttdeci">std::size_t laggards(Ledger_t::Seq const seq, hash_set< NodeKey_t > &trustedKeys) const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01045">RCLConsensus.cpp:1045</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a680ee42fcc8e44fb714bd82ec20b3ba3"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a680ee42fcc8e44fb714bd82ec20b3ba3">ripple::RCLConsensus::Adaptor::censorshipDetector_</a></div><div class="ttdeci">RCLCensorshipDetector< TxID, LedgerIndex > censorshipDetector_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00070">RCLConsensus.h:70</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a71558db36f2c6e246d00408955a8eb7f"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a71558db36f2c6e246d00408955a8eb7f">ripple::RCLConsensus::Adaptor::onForceAccept</a></div><div class="ttdeci">void onForceAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration const &closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson)</div><div class="ttdoc">Process the accepted ledger that was a result of simulation/force accept.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00396">RCLConsensus.cpp:396</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a89732653d5e60191140d595d9192bc83"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a89732653d5e60191140d595d9192bc83">ripple::RCLConsensus::Adaptor::validator</a></div><div class="ttdeci">bool validator() const</div><div class="ttdoc">Whether I am a validator.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01057">RCLConsensus.cpp:1057</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a89732653d5e60191140d595d9192bc83"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a89732653d5e60191140d595d9192bc83">ripple::RCLConsensus::Adaptor::validator</a></div><div class="ttdeci">bool validator() const</div><div class="ttdoc">Whether I am a validator.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01053">RCLConsensus.cpp:1053</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a8ca18b539a9a017ac1210c8104ffcc74"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a8ca18b539a9a017ac1210c8104ffcc74">ripple::RCLConsensus::Adaptor::buildLCL</a></div><div class="ttdeci">RCLCxLedger buildLCL(RCLCxLedger const &previousLedger, CanonicalTXSet &retriableTxs, NetClock::time_point closeTime, bool closeTimeCorrect, NetClock::duration closeResolution, std::chrono::milliseconds roundTime, std::set< TxID > &failedTxs)</div><div class="ttdoc">Build the new last closed ledger.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00756">RCLConsensus.cpp:756</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a93589fe1373e60df4313330b0ca40ecb"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a93589fe1373e60df4313330b0ca40ecb">ripple::RCLConsensus::Adaptor::acquireLedger</a></div><div class="ttdeci">std::optional< RCLCxLedger > acquireLedger(LedgerHash const &hash)</div><div class="ttdoc">Attempt to acquire a specific ledger.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00107">RCLConsensus.cpp:107</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a9f9e5d015fc6b18e3726ce51658b257c"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a9f9e5d015fc6b18e3726ce51658b257c">ripple::RCLConsensus::Adaptor::getValidLedgerIndex</a></div><div class="ttdeci">LedgerIndex getValidLedgerIndex() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01037">RCLConsensus.cpp:1037</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_a9f9e5d015fc6b18e3726ce51658b257c"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#a9f9e5d015fc6b18e3726ce51658b257c">ripple::RCLConsensus::Adaptor::getValidLedgerIndex</a></div><div class="ttdeci">LedgerIndex getValidLedgerIndex() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01033">RCLConsensus.cpp:1033</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_ab10285a854623f41080295ff41f41d12"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#ab10285a854623f41080295ff41f41d12">ripple::RCLConsensus::Adaptor::proposersFinished</a></div><div class="ttdeci">std::size_t proposersFinished(RCLCxLedger const &ledger, LedgerHash const &h) const</div><div class="ttdoc">Number of proposers that have validated a ledger descended from requested ledger.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00266">RCLConsensus.cpp:266</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_abd952b4943d59db7baeed2173c2abe8e"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#abd952b4943d59db7baeed2173c2abe8e">ripple::RCLConsensus::Adaptor::acquireTxSet</a></div><div class="ttdeci">std::optional< RCLTxSet > acquireTxSet(RCLTxSet::ID const &setId)</div><div class="ttdoc">Acquire the transaction set associated with a proposal.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00244">RCLConsensus.cpp:244</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_ac97ef5d20d6f7ec91992dbc344f9d77a"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#ac97ef5d20d6f7ec91992dbc344f9d77a">ripple::RCLConsensus::Adaptor::hasOpenTransactions</a></div><div class="ttdeci">bool hasOpenTransactions() const</div><div class="ttdoc">Whether the open ledger has any transactions.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00254">RCLConsensus.cpp:254</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_ad0aa2492ff95815e202bd5801b37e030"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#ad0aa2492ff95815e202bd5801b37e030">ripple::RCLConsensus::Adaptor::haveValidated</a></div><div class="ttdeci">bool haveValidated() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01031">RCLConsensus.cpp:1031</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_ad0aa2492ff95815e202bd5801b37e030"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#ad0aa2492ff95815e202bd5801b37e030">ripple::RCLConsensus::Adaptor::haveValidated</a></div><div class="ttdeci">bool haveValidated() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01027">RCLConsensus.cpp:1027</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_ad40fb423038c68c5f122a7bd9b1b2a36"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#ad40fb423038c68c5f122a7bd9b1b2a36">ripple::RCLConsensus::Adaptor::onAccept</a></div><div class="ttdeci">void onAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration const &closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson, bool const validating)</div><div class="ttdoc">Process the accepted ledger.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00414">RCLConsensus.cpp:414</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_ae0bc8e2bb64629ac624fd6b106ec56cb"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#ae0bc8e2bb64629ac624fd6b106ec56cb">ripple::RCLConsensus::Adaptor::validate</a></div><div class="ttdeci">void validate(RCLCxLedger const &ledger, RCLTxSet const &txns, bool proposing)</div><div class="ttdoc">Validate the given ledger and share with peers as necessary.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00799">RCLConsensus.cpp:799</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_ae5dae1ff6ce46d6fa64c3d919182c99d"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#ae5dae1ff6ce46d6fa64c3d919182c99d">ripple::RCLConsensus::Adaptor::valCookie_</a></div><div class="ttdeci">std::uint64_t const valCookie_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00053">RCLConsensus.h:53</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_aeabb611a96a6d3e34fbeba94fd462bcd"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd">ripple::RCLConsensus::Adaptor::preStartRound</a></div><div class="ttdeci">bool preStartRound(RCLCxLedger const &prevLedger, hash_set< NodeID > const &nowTrusted)</div><div class="ttdoc">Called before kicking off a new consensus round.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00980">RCLConsensus.cpp:980</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_aeabb611a96a6d3e34fbeba94fd462bcd"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#aeabb611a96a6d3e34fbeba94fd462bcd">ripple::RCLConsensus::Adaptor::preStartRound</a></div><div class="ttdeci">bool preStartRound(RCLCxLedger const &prevLedger, hash_set< NodeID > const &nowTrusted)</div><div class="ttdoc">Called before kicking off a new consensus round.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00976">RCLConsensus.cpp:976</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_aec8ba6a5bc49a937911f50c264a48439"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#aec8ba6a5bc49a937911f50c264a48439">ripple::RCLConsensus::Adaptor::getPrevLedger</a></div><div class="ttdeci">uint256 getPrevLedger(uint256 ledgerID, RCLCxLedger const &ledger, ConsensusMode mode)</div><div class="ttdoc">Get the ID of the previous ledger/last closed ledger(LCL) on the network.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00276">RCLConsensus.cpp:276</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_aecfa90103c1ac29bb861acc866e16230"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#aecfa90103c1ac29bb861acc866e16230">ripple::RCLConsensus::Adaptor::proposersValidated</a></div><div class="ttdeci">std::size_t proposersValidated(LedgerHash const &h) const</div><div class="ttdoc">Number of proposers that have validated the given ledger.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00260">RCLConsensus.cpp:260</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_af18748b9a1f24b92d503f3a1859d0939"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#af18748b9a1f24b92d503f3a1859d0939">ripple::RCLConsensus::Adaptor::notify</a></div><div class="ttdeci">void notify(protocol::NodeEvent ne, RCLCxLedger const &ledger, bool haveCorrectLCL)</div><div class="ttdoc">Notify peers of a consensus state change.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00717">RCLConsensus.cpp:717</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_af204a12bd25345da7fbdb8d267a1e23f"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#af204a12bd25345da7fbdb8d267a1e23f">ripple::RCLConsensus::Adaptor::updateOperatingMode</a></div><div class="ttdeci">void updateOperatingMode(std::size_t const positions) const</div><div class="ttdoc">Update operating mode based on current peer positions.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01063">RCLConsensus.cpp:1063</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_af8d2a95620b4b70e89890757d9bfb528"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#af8d2a95620b4b70e89890757d9bfb528">ripple::RCLConsensus::Adaptor::getQuorumKeys</a></div><div class="ttdeci">std::pair< std::size_t, hash_set< NodeKey_t > > getQuorumKeys() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01043">RCLConsensus.cpp:1043</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a269eadc254a964bcd8d79876420c379b"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a269eadc254a964bcd8d79876420c379b">ripple::RCLConsensus::gotTxSet</a></div><div class="ttdeci">void gotTxSet(NetClock::time_point const &now, RCLTxSet const &txSet)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00944">RCLConsensus.cpp:944</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a41b5d07d847a52a3408b8e366b8ee53b"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a41b5d07d847a52a3408b8e366b8ee53b">ripple::RCLConsensus::simulate</a></div><div class="ttdeci">void simulate(NetClock::time_point const &now, std::optional< std::chrono::milliseconds > consensusDelay)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00962">RCLConsensus.cpp:962</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_af204a12bd25345da7fbdb8d267a1e23f"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#af204a12bd25345da7fbdb8d267a1e23f">ripple::RCLConsensus::Adaptor::updateOperatingMode</a></div><div class="ttdeci">void updateOperatingMode(std::size_t const positions) const</div><div class="ttdoc">Update operating mode based on current peer positions.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01059">RCLConsensus.cpp:1059</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_1_1Adaptor_html_af8d2a95620b4b70e89890757d9bfb528"><div class="ttname"><a href="classripple_1_1RCLConsensus_1_1Adaptor.html#af8d2a95620b4b70e89890757d9bfb528">ripple::RCLConsensus::Adaptor::getQuorumKeys</a></div><div class="ttdeci">std::pair< std::size_t, hash_set< NodeKey_t > > getQuorumKeys() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01039">RCLConsensus.cpp:1039</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a269eadc254a964bcd8d79876420c379b"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a269eadc254a964bcd8d79876420c379b">ripple::RCLConsensus::gotTxSet</a></div><div class="ttdeci">void gotTxSet(NetClock::time_point const &now, RCLTxSet const &txSet)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00940">RCLConsensus.cpp:940</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a41b5d07d847a52a3408b8e366b8ee53b"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a41b5d07d847a52a3408b8e366b8ee53b">ripple::RCLConsensus::simulate</a></div><div class="ttdeci">void simulate(NetClock::time_point const &now, std::optional< std::chrono::milliseconds > consensusDelay)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00958">RCLConsensus.cpp:958</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a55a20570465648d3398698c7f2640cae"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a55a20570465648d3398698c7f2640cae">ripple::RCLConsensus::validating</a></div><div class="ttdeci">bool validating() const</div><div class="ttdoc">Whether we are validating consensus ledgers.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00420">RCLConsensus.h:420</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a644744c1ada1b4d9822c79a07934d852"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a644744c1ada1b4d9822c79a07934d852">ripple::RCLConsensus::RCLConsensus</a></div><div class="ttdeci">RCLConsensus(Application &app, std::unique_ptr< FeeVote > &&feeVote, LedgerMaster &ledgerMaster, LocalTxs &localTxs, InboundTransactions &inboundTransactions, Consensus< Adaptor >::clock_type const &clock, ValidatorKeys const &validatorKeys, beast::Journal journal)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00035">RCLConsensus.cpp:35</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a69763dd94428cf050b9badb43d4ca398"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a69763dd94428cf050b9badb43d4ca398">ripple::RCLConsensus::mode</a></div><div class="ttdeci">ConsensusMode mode() const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00448">RCLConsensus.h:448</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a6a92162f62d54bf606c5fa683d7552cc"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a6a92162f62d54bf606c5fa683d7552cc">ripple::RCLConsensus::censorshipWarnInternal</a></div><div class="ttdeci">static constexpr unsigned int censorshipWarnInternal</div><div class="ttdoc">Warn for transactions that haven't been included every so many ledgers.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00037">RCLConsensus.h:37</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a84d76715067b0c309c57b9e19d0ed2bd"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a84d76715067b0c309c57b9e19d0ed2bd">ripple::RCLConsensus::mutex_</a></div><div class="ttdeci">std::recursive_mutex mutex_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00515">RCLConsensus.h:515</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_a95eae2c34b7b917b097947ff42e9c94c"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#a95eae2c34b7b917b097947ff42e9c94c">ripple::RCLConsensus::consensus_</a></div><div class="ttdeci">Consensus< Adaptor > consensus_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00518">RCLConsensus.h:518</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_aa0e46b668adf5d791806adf85d852c11"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#aa0e46b668adf5d791806adf85d852c11">ripple::RCLConsensus::peerProposal</a></div><div class="ttdeci">bool peerProposal(NetClock::time_point const &now, RCLCxPeerPos const &newProposal)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00971">RCLConsensus.cpp:971</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_aa36677de1e4e82554a4290f9a6172d83"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#aa36677de1e4e82554a4290f9a6172d83">ripple::RCLConsensus::startRound</a></div><div class="ttdeci">void startRound(NetClock::time_point const &now, RCLCxLedger::ID const &prevLgrId, RCLCxLedger const &prevLgr, hash_set< NodeID > const &nowUntrusted, hash_set< NodeID > const &nowTrusted, std::unique_ptr< std::stringstream > const &clog)</div><div class="ttdoc">Adjust the set of trusted validators and kick-off the next round of consensus.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01070">RCLConsensus.cpp:1070</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_ab2cb3bf06f3e6f789183e3ed4fbfc730"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#ab2cb3bf06f3e6f789183e3ed4fbfc730">ripple::RCLConsensus::timerEntry</a></div><div class="ttdeci">void timerEntry(NetClock::time_point const &now, std::unique_ptr< std::stringstream > const &clog={})</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00923">RCLConsensus.cpp:923</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_aa0e46b668adf5d791806adf85d852c11"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#aa0e46b668adf5d791806adf85d852c11">ripple::RCLConsensus::peerProposal</a></div><div class="ttdeci">bool peerProposal(NetClock::time_point const &now, RCLCxPeerPos const &newProposal)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00967">RCLConsensus.cpp:967</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_aa36677de1e4e82554a4290f9a6172d83"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#aa36677de1e4e82554a4290f9a6172d83">ripple::RCLConsensus::startRound</a></div><div class="ttdeci">void startRound(NetClock::time_point const &now, RCLCxLedger::ID const &prevLgrId, RCLCxLedger const &prevLgr, hash_set< NodeID > const &nowUntrusted, hash_set< NodeID > const &nowTrusted, std::unique_ptr< std::stringstream > const &clog)</div><div class="ttdoc">Adjust the set of trusted validators and kick-off the next round of consensus.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01066">RCLConsensus.cpp:1066</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_ab2cb3bf06f3e6f789183e3ed4fbfc730"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#ab2cb3bf06f3e6f789183e3ed4fbfc730">ripple::RCLConsensus::timerEntry</a></div><div class="ttdeci">void timerEntry(NetClock::time_point const &now, std::unique_ptr< std::stringstream > const &clog={})</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00919">RCLConsensus.cpp:919</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_abc9a72a85632483bb04f03f00af63db3"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#abc9a72a85632483bb04f03f00af63db3">ripple::RCLConsensus::adaptor_</a></div><div class="ttdeci">Adaptor adaptor_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00517">RCLConsensus.h:517</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_acdab4291925cbabf861b8019c76355ea"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#acdab4291925cbabf861b8019c76355ea">ripple::RCLConsensus::getJson</a></div><div class="ttdeci">Json::Value getJson(bool full) const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00911">RCLConsensus.cpp:911</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_acdab4291925cbabf861b8019c76355ea"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#acdab4291925cbabf861b8019c76355ea">ripple::RCLConsensus::getJson</a></div><div class="ttdeci">Json::Value getJson(bool full) const</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l00907">RCLConsensus.cpp:907</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLConsensus_html_afd657a591b7d8f01722d31787ca7e959"><div class="ttname"><a href="classripple_1_1RCLConsensus.html#afd657a591b7d8f01722d31787ca7e959">ripple::RCLConsensus::j_</a></div><div class="ttdeci">beast::Journal const j_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00519">RCLConsensus.h:519</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLCxLedger_html"><div class="ttname"><a href="classripple_1_1RCLCxLedger.html">ripple::RCLCxLedger</a></div><div class="ttdoc">Represents a ledger in RCLConsensus.</div><div class="ttdef"><b>Definition</b> <a href="RCLCxLedger_8h_source.html#l00016">RCLCxLedger.h:17</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RCLCxLedger_html_a318d581c9dc0d0ba14d3877ab93b7547"><div class="ttname"><a href="classripple_1_1RCLCxLedger.html#a318d581c9dc0d0ba14d3877ab93b7547">ripple::RCLCxLedger::seq</a></div><div class="ttdeci">Seq const & seq() const</div><div class="ttdoc">Sequence number of the ledger.</div><div class="ttdef"><b>Definition</b> <a href="RCLCxLedger_8h_source.html#l00042">RCLCxLedger.h:42</a></div></div>
|
||||
@@ -1357,10 +1353,10 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassripple_1_1RCLValidationsAdaptor_html_a0eebe32ebe8432114e6b1f32e0faf3ad"><div class="ttname"><a href="classripple_1_1RCLValidationsAdaptor.html#a0eebe32ebe8432114e6b1f32e0faf3ad">ripple::RCLValidationsAdaptor::journal</a></div><div class="ttdeci">beast::Journal journal() const</div><div class="ttdef"><b>Definition</b> <a href="RCLValidations_8h_source.html#l00211">RCLValidations.h:211</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html">ripple::RclConsensusLogger</a></div><div class="ttdoc">Collects logging information.</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00531">RCLConsensus.h:532</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_a04f13d14041f6722222652455f4bd88c"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#a04f13d14041f6722222652455f4bd88c">ripple::RclConsensusLogger::ss</a></div><div class="ttdeci">std::unique_ptr< std::stringstream > const & ss()</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00546">RCLConsensus.h:546</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_a62b616635dd7bca3503b13ad3e358d59"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#a62b616635dd7bca3503b13ad3e358d59">ripple::RclConsensusLogger::RclConsensusLogger</a></div><div class="ttdeci">RclConsensusLogger(char const *label, bool validating, beast::Journal j)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01088">RCLConsensus.cpp:1088</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_a62b616635dd7bca3503b13ad3e358d59"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#a62b616635dd7bca3503b13ad3e358d59">ripple::RclConsensusLogger::RclConsensusLogger</a></div><div class="ttdeci">RclConsensusLogger(char const *label, bool validating, beast::Journal j)</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01084">RCLConsensus.cpp:1084</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_a68cfb38b00a3322049efed5d3dcbd598"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#a68cfb38b00a3322049efed5d3dcbd598">ripple::RclConsensusLogger::header_</a></div><div class="ttdeci">std::string header_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00533">RCLConsensus.h:533</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_a79d994c030dca64010c0195207af3117"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#a79d994c030dca64010c0195207af3117">ripple::RclConsensusLogger::j_</a></div><div class="ttdeci">beast::Journal j_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00534">RCLConsensus.h:534</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_aa6afcdf2752a0c206942dc1a057ffc3e"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#aa6afcdf2752a0c206942dc1a057ffc3e">ripple::RclConsensusLogger::~RclConsensusLogger</a></div><div class="ttdeci">~RclConsensusLogger()</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01103">RCLConsensus.cpp:1103</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_aa6afcdf2752a0c206942dc1a057ffc3e"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#aa6afcdf2752a0c206942dc1a057ffc3e">ripple::RclConsensusLogger::~RclConsensusLogger</a></div><div class="ttdeci">~RclConsensusLogger()</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8cpp_source.html#l01099">RCLConsensus.cpp:1099</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_aa7947aaac11956a173d35768b7bc95b2"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#aa7947aaac11956a173d35768b7bc95b2">ripple::RclConsensusLogger::start_</a></div><div class="ttdeci">std::chrono::steady_clock::time_point start_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00536">RCLConsensus.h:536</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1RclConsensusLogger_html_ab0773f83dee4a3df01d5a9f365a2a917"><div class="ttname"><a href="classripple_1_1RclConsensusLogger.html#ab0773f83dee4a3df01d5a9f365a2a917">ripple::RclConsensusLogger::ss_</a></div><div class="ttdeci">std::unique_ptr< std::stringstream > ss_</div><div class="ttdef"><b>Definition</b> <a href="RCLConsensus_8h_source.html#l00535">RCLConsensus.h:535</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SHAMapMissingNode_html"><div class="ttname"><a href="classripple_1_1SHAMapMissingNode.html">ripple::SHAMapMissingNode</a></div><div class="ttdef"><b>Definition</b> <a href="SHAMapMissingNode_8h_source.html#l00037">SHAMapMissingNode.h:38</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user