From 0643f8635b1c9c1e49aa20d36faeab9d32d6c4f0 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Tue, 23 Apr 2013 06:59:47 -0700 Subject: [PATCH] Don't make a fetch pack if load is too high. --- src/cpp/ripple/LoadManager.h | 1 + src/cpp/ripple/Peer.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/cpp/ripple/LoadManager.h b/src/cpp/ripple/LoadManager.h index 25b8aa5855..dd58aa9f5d 100644 --- a/src/cpp/ripple/LoadManager.h +++ b/src/cpp/ripple/LoadManager.h @@ -182,6 +182,7 @@ public: void setRemoteFee(uint32); bool raiseLocalFee(); bool lowerLocalFee(); + bool isLoaded() { return (raiseCount != 0) || (mLocalTxnLoadFee != lftNormalFee); } }; diff --git a/src/cpp/ripple/Peer.cpp b/src/cpp/ripple/Peer.cpp index 6280675d04..1b21a83bd9 100644 --- a/src/cpp/ripple/Peer.cpp +++ b/src/cpp/ripple/Peer.cpp @@ -1858,6 +1858,11 @@ void Peer::doProofOfWork(Job&, boost::weak_ptr peer, ProofOfWork::pointer void Peer::doFetchPack(const boost::shared_ptr& packet) { + if (theApp->getFeeTrack().isLoaded()) + { + cLog(lsINFO) << "Too busy to make fetch pack"; + return; + } if (packet->ledgerhash().size() != 32) { cLog(lsWARNING) << "FetchPack hash size malformed";