From aae34de65f514e88f5bb3413a82d3d4d668b9b37 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 4 Nov 2012 22:49:50 -0800 Subject: [PATCH] Mark a FIXME. --- src/LedgerConsensus.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/LedgerConsensus.cpp b/src/LedgerConsensus.cpp index 9042b0455..86b073b7c 100644 --- a/src/LedgerConsensus.cpp +++ b/src/LedgerConsensus.cpp @@ -982,6 +982,7 @@ void LedgerConsensus::playbackProposals() for (boost::unordered_map< uint160, std::list >::iterator it = storedProposals.begin(), end = storedProposals.end(); it != end; ++it) { + bool relay = false; BOOST_FOREACH(const LedgerProposal::pointer& proposal, it->second) { if (proposal->hasSignature()) @@ -990,11 +991,33 @@ void LedgerConsensus::playbackProposals() if (proposal->checkSign()) { cLog(lsINFO) << "Applying stored proposal"; - peerPosition(proposal); + relay = peerPosition(proposal); } } else if (proposal->isPrevLedger(mPrevLedgerHash)) - peerPosition(proposal); + relay = peerPosition(proposal); + + if (relay) + { + cLog(lsWARNING) << "We should do delayed relay of this proposal, but we cannot"; + } +#if 0 // FIXME: We can't do delayed relay because we don't have the signature + std::set peers + if (relay && theApp->getSuppression().swapSet(proposal.getSuppress(), set, SF_RELAYED)) + { + cLog(lsDEBUG) << "Stored proposal delayed relay"; + ripple::TMProposeSet set; + set.set_proposeseq + set.set_currenttxhash(, 256 / 8); + previousledger + closetime + nodepubkey + signature + PackedMessage::pointer message = boost::make_shared(set, ripple::mtPROPOSE_LEDGER); + theApp->getConnectionPool().relayMessageBut(peers, message); + } +#endif + } } }