Fix a bug where tx set acquire timeouts never occured.

Run acquire timeouts in milliseconds rather than seconds.
This commit is contained in:
JoelKatz
2012-08-15 01:20:14 -07:00
parent 8ef27615dc
commit 11f7012d09
2 changed files with 9 additions and 4 deletions

View File

@@ -11,12 +11,14 @@
#include "HashPrefixes.h"
// #define LA_DEBUG
#define LEDGER_ACQUIRE_TIMEOUT 1
#define LEDGER_ACQUIRE_TIMEOUT 750
#define TRUST_NETWORK
PeerSet::PeerSet(const uint256& hash, int interval) : mHash(hash), mTimerInterval(interval), mTimeouts(0),
mComplete(false), mFailed(false), mProgress(true), mTimer(theApp->getIOService())
{ ; }
{
assert((mTimerInterval > 10) && (mTimerInterval < 30000));
}
void PeerSet::peerHas(Peer::pointer ptr)
{
@@ -61,7 +63,7 @@ void PeerSet::badPeer(Peer::pointer ptr)
void PeerSet::resetTimer()
{
mTimer.expires_from_now(boost::posix_time::seconds(mTimerInterval));
mTimer.expires_from_now(boost::posix_time::milliseconds(mTimerInterval));
mTimer.async_wait(boost::bind(&PeerSet::TimerEntry, pmDowncast(), boost::asio::placeholders::error));
}

View File

@@ -13,11 +13,13 @@
#include "Log.h"
#include "SHAMapSync.h"
#define TX_ACQUIRE_TIMEOUT 250
#define TRUST_NETWORK
// #define LC_DEBUG
TransactionAcquire::TransactionAcquire(const uint256& hash) : PeerSet(hash, 1), mHaveRoot(false)
TransactionAcquire::TransactionAcquire(const uint256& hash) : PeerSet(hash, TX_ACQUIRE_TIMEOUT), mHaveRoot(false)
{
mMap = boost::make_shared<SHAMap>();
mMap->setSynching();
@@ -664,6 +666,7 @@ void LedgerConsensus::startAcquiring(TransactionAcquire::pointer acquire)
}
}
}
acquire->resetTimer();
}
void LedgerConsensus::propose(const std::vector<uint256>& added, const std::vector<uint256>& removed)