-
-
-
-
-
-
-
1094 if (!validating && !j.
info())
-
-
-
-
-
-
-
+
+
+
+
+
+
+
1103 auto const duration = std::chrono::duration_cast<std::chrono::milliseconds>(
+
+
+
1106 outSs <<
header_ <<
"duration " << (duration.count() / 1000) <<
'.'
+
+
+
+
-
-
-
-
-
-
-
1107 auto const duration = std::chrono::duration_cast<std::chrono::milliseconds>(
-
-
-
1110 outSs <<
header_ <<
"duration " << (duration.count() / 1000) <<
'.'
-
-
-
-
-
-
-
+
+
@@ -1301,40 +1297,40 @@ $(document).ready(function() { init_codefold(0); });
void doAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson)
Accept a new ledger based on the given transactions.
Adaptor(Application &app, std::unique_ptr< FeeVote > &&feeVote, LedgerMaster &ledgerMaster, LocalTxs &localTxs, InboundTransactions &inboundTransactions, ValidatorKeys const &validatorKeys, beast::Journal journal)
-
void onModeChange(ConsensusMode before, ConsensusMode after)
Notified of change in consensus mode.
-
std::size_t laggards(Ledger_t::Seq const seq, hash_set< NodeKey_t > &trustedKeys) const
+
void onModeChange(ConsensusMode before, ConsensusMode after)
Notified of change in consensus mode.
+
std::size_t laggards(Ledger_t::Seq const seq, hash_set< NodeKey_t > &trustedKeys) const
RCLCensorshipDetector< TxID, LedgerIndex > censorshipDetector_
void onForceAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration const &closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson)
Process the accepted ledger that was a result of simulation/force accept.
-
bool validator() const
Whether I am a validator.
+
bool validator() const
Whether I am a validator.
RCLCxLedger buildLCL(RCLCxLedger const &previousLedger, CanonicalTXSet &retriableTxs, NetClock::time_point closeTime, bool closeTimeCorrect, NetClock::duration closeResolution, std::chrono::milliseconds roundTime, std::set< TxID > &failedTxs)
Build the new last closed ledger.
std::optional< RCLCxLedger > acquireLedger(LedgerHash const &hash)
Attempt to acquire a specific ledger.
-
LedgerIndex getValidLedgerIndex() const
+
LedgerIndex getValidLedgerIndex() const
std::size_t proposersFinished(RCLCxLedger const &ledger, LedgerHash const &h) const
Number of proposers that have validated a ledger descended from requested ledger.
std::optional< RCLTxSet > acquireTxSet(RCLTxSet::ID const &setId)
Acquire the transaction set associated with a proposal.
bool hasOpenTransactions() const
Whether the open ledger has any transactions.
-
bool haveValidated() const
+
bool haveValidated() const
void onAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration const &closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson, bool const validating)
Process the accepted ledger.
void validate(RCLCxLedger const &ledger, RCLTxSet const &txns, bool proposing)
Validate the given ledger and share with peers as necessary.
std::uint64_t const valCookie_
-
bool preStartRound(RCLCxLedger const &prevLedger, hash_set< NodeID > const &nowTrusted)
Called before kicking off a new consensus round.
+
bool preStartRound(RCLCxLedger const &prevLedger, hash_set< NodeID > const &nowTrusted)
Called before kicking off a new consensus round.
uint256 getPrevLedger(uint256 ledgerID, RCLCxLedger const &ledger, ConsensusMode mode)
Get the ID of the previous ledger/last closed ledger(LCL) on the network.
std::size_t proposersValidated(LedgerHash const &h) const
Number of proposers that have validated the given ledger.
void notify(protocol::NodeEvent ne, RCLCxLedger const &ledger, bool haveCorrectLCL)
Notify peers of a consensus state change.
-
void updateOperatingMode(std::size_t const positions) const
Update operating mode based on current peer positions.
-
std::pair< std::size_t, hash_set< NodeKey_t > > getQuorumKeys() const
-
void gotTxSet(NetClock::time_point const &now, RCLTxSet const &txSet)
-
void simulate(NetClock::time_point const &now, std::optional< std::chrono::milliseconds > consensusDelay)
+
void updateOperatingMode(std::size_t const positions) const
Update operating mode based on current peer positions.
+
std::pair< std::size_t, hash_set< NodeKey_t > > getQuorumKeys() const
+
void gotTxSet(NetClock::time_point const &now, RCLTxSet const &txSet)
+
void simulate(NetClock::time_point const &now, std::optional< std::chrono::milliseconds > consensusDelay)
bool validating() const
Whether we are validating consensus ledgers.
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)
Constructor.
ConsensusMode mode() const
static constexpr unsigned int censorshipWarnInternal
Warn for transactions that haven't been included every so many ledgers.
std::recursive_mutex mutex_
Consensus< Adaptor > consensus_
-
bool peerProposal(NetClock::time_point const &now, RCLCxPeerPos const &newProposal)
-
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)
Adjust the set of trusted validators and kick-off the next round of consensus.
-
void timerEntry(NetClock::time_point const &now, std::unique_ptr< std::stringstream > const &clog={})
+
bool peerProposal(NetClock::time_point const &now, RCLCxPeerPos const &newProposal)
+
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)
Adjust the set of trusted validators and kick-off the next round of consensus.
+
void timerEntry(NetClock::time_point const &now, std::unique_ptr< std::stringstream > const &clog={})
-
Json::Value getJson(bool full) const
+
Json::Value getJson(bool full) const
Represents a ledger in RCLConsensus.
Seq const & seq() const
Sequence number of the ledger.
@@ -1357,10 +1353,10 @@ $(document).ready(function() { init_codefold(0); });
beast::Journal journal() const
Collects logging information.
std::unique_ptr< std::stringstream > const & ss()
-
RclConsensusLogger(char const *label, bool validating, beast::Journal j)
+
RclConsensusLogger(char const *label, bool validating, beast::Journal j)
-
+
std::chrono::steady_clock::time_point start_
std::unique_ptr< std::stringstream > ss_
diff --git a/RCLConsensus_8h_source.html b/RCLConsensus_8h_source.html
index 688e8cc25c..8a592f72c3 100644
--- a/RCLConsensus_8h_source.html
+++ b/RCLConsensus_8h_source.html
@@ -514,16 +514,16 @@ $(document).ready(function() { init_codefold(0); });
ConsensusMode mode() const
std::chrono::milliseconds prevRoundTime() const
-
void onModeChange(ConsensusMode before, ConsensusMode after)
Notified of change in consensus mode.
-
std::size_t laggards(Ledger_t::Seq const seq, hash_set< NodeKey_t > &trustedKeys) const
+
void onModeChange(ConsensusMode before, ConsensusMode after)
Notified of change in consensus mode.
+
std::size_t laggards(Ledger_t::Seq const seq, hash_set< NodeKey_t > &trustedKeys) const
RCLCensorshipDetector< TxID, LedgerIndex > censorshipDetector_
void onForceAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration const &closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson)
Process the accepted ledger that was a result of simulation/force accept.
-
bool validator() const
Whether I am a validator.
+
bool validator() const
Whether I am a validator.
RCLCxLedger buildLCL(RCLCxLedger const &previousLedger, CanonicalTXSet &retriableTxs, NetClock::time_point closeTime, bool closeTimeCorrect, NetClock::duration closeResolution, std::chrono::milliseconds roundTime, std::set< TxID > &failedTxs)
Build the new last closed ledger.
std::optional< RCLCxLedger > acquireLedger(LedgerHash const &hash)
Attempt to acquire a specific ledger.
std::unique_ptr< FeeVote > feeVote_
-
LedgerIndex getValidLedgerIndex() const
+
LedgerIndex getValidLedgerIndex() const
LedgerHash acquiringLedger_
std::size_t proposersFinished(RCLCxLedger const &ledger, LedgerHash const &h) const
Number of proposers that have validated a ledger descended from requested ledger.
NegativeUNLVote nUnlVote_
@@ -533,24 +533,24 @@ $(document).ready(function() { init_codefold(0); });
std::optional< RCLTxSet > acquireTxSet(RCLTxSet::ID const &setId)
Acquire the transaction set associated with a proposal.
bool hasOpenTransactions() const
Whether the open ledger has any transactions.
LedgerMaster & ledgerMaster_
-
bool haveValidated() const
+
bool haveValidated() const
void onAccept(Result const &result, RCLCxLedger const &prevLedger, NetClock::duration const &closeResolution, ConsensusCloseTimes const &rawCloseTimes, ConsensusMode const &mode, Json::Value &&consensusJson, bool const validating)
Process the accepted ledger.
void validate(RCLCxLedger const &ledger, RCLTxSet const &txns, bool proposing)
Validate the given ledger and share with peers as necessary.
std::atomic< std::chrono::milliseconds > prevRoundTime_
std::uint64_t const valCookie_
-
bool preStartRound(RCLCxLedger const &prevLedger, hash_set< NodeID > const &nowTrusted)
Called before kicking off a new consensus round.
+
bool preStartRound(RCLCxLedger const &prevLedger, hash_set< NodeID > const &nowTrusted)
Called before kicking off a new consensus round.
uint256 getPrevLedger(uint256 ledgerID, RCLCxLedger const &ledger, ConsensusMode mode)
Get the ID of the previous ledger/last closed ledger(LCL) on the network.
std::size_t proposersValidated(LedgerHash const &h) const
Number of proposers that have validated the given ledger.
std::atomic< bool > validating_
void notify(protocol::NodeEvent ne, RCLCxLedger const &ledger, bool haveCorrectLCL)
Notify peers of a consensus state change.
-
void updateOperatingMode(std::size_t const positions) const
Update operating mode based on current peer positions.
+
void updateOperatingMode(std::size_t const positions) const
Update operating mode based on current peer positions.
-
std::pair< std::size_t, hash_set< NodeKey_t > > getQuorumKeys() const
+
std::pair< std::size_t, hash_set< NodeKey_t > > getQuorumKeys() const
Manages the generic consensus algorithm for use by the RCL.
RCLConsensus(RCLConsensus const &)=delete
-
void gotTxSet(NetClock::time_point const &now, RCLTxSet const &txSet)
+
void gotTxSet(NetClock::time_point const &now, RCLTxSet const &txSet)
std::size_t prevProposers() const
Get the number of proposing peers that participated in the previous round.
-
void simulate(NetClock::time_point const &now, std::optional< std::chrono::milliseconds > consensusDelay)
+
void simulate(NetClock::time_point const &now, std::optional< std::chrono::milliseconds > consensusDelay)
ConsensusPhase phase() const
bool validating() const
Whether we are validating consensus ledgers.
RCLConsensus & operator=(RCLConsensus const &)=delete
@@ -559,12 +559,12 @@ $(document).ready(function() { init_codefold(0); });
static constexpr unsigned int censorshipWarnInternal
Warn for transactions that haven't been included every so many ledgers.
std::recursive_mutex mutex_
Consensus< Adaptor > consensus_
-
bool peerProposal(NetClock::time_point const &now, RCLCxPeerPos const &newProposal)
-
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)
Adjust the set of trusted validators and kick-off the next round of consensus.
-
void timerEntry(NetClock::time_point const &now, std::unique_ptr< std::stringstream > const &clog={})
+
bool peerProposal(NetClock::time_point const &now, RCLCxPeerPos const &newProposal)
+
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)
Adjust the set of trusted validators and kick-off the next round of consensus.
+
void timerEntry(NetClock::time_point const &now, std::unique_ptr< std::stringstream > const &clog={})
ConsensusParms const & parms() const
-
Json::Value getJson(bool full) const
+
Json::Value getJson(bool full) const
RCLCxLedger::ID prevLedgerID() const
Represents a ledger in RCLConsensus.
@@ -577,7 +577,7 @@ $(document).ready(function() { init_codefold(0); });
std::unique_ptr< std::stringstream > const & ss()
-
+
std::chrono::steady_clock::time_point start_
std::unique_ptr< std::stringstream > ss_
Validator keys and manifest as set in configuration file.
diff --git a/STValidation_8cpp_source.html b/STValidation_8cpp_source.html
index 9affcb89de..584b7c6b15 100644
--- a/STValidation_8cpp_source.html
+++ b/STValidation_8cpp_source.html
@@ -139,109 +139,108 @@ $(document).ready(function() { init_codefold(0); });
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+