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";