mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-25 13:35:54 +00:00
Don't service stale/superceded fetch pack requests.
This commit is contained in:
@@ -2006,8 +2006,13 @@ void NetworkOPs::getBookPage(Ledger::pointer lpLedger, const uint160& uTakerPays
|
|||||||
|
|
||||||
void NetworkOPs::makeFetchPack(Job&, boost::weak_ptr<Peer> wPeer,
|
void NetworkOPs::makeFetchPack(Job&, boost::weak_ptr<Peer> wPeer,
|
||||||
boost::shared_ptr<ripple::TMGetObjectByHash> request,
|
boost::shared_ptr<ripple::TMGetObjectByHash> request,
|
||||||
Ledger::pointer wantLedger, Ledger::pointer haveLedger)
|
Ledger::pointer wantLedger, Ledger::pointer haveLedger, uint32 uUptime)
|
||||||
{
|
{
|
||||||
|
if (upTime() > (uUptime + 1))
|
||||||
|
{
|
||||||
|
cLog(lsINFO) << "Fetch pack request got stale";
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (theApp->getFeeTrack().isLoaded())
|
if (theApp->getFeeTrack().isLoaded())
|
||||||
{
|
{
|
||||||
cLog(lsINFO) << "Too busy to make fetch pack";
|
cLog(lsINFO) << "Too busy to make fetch pack";
|
||||||
|
|||||||
@@ -282,7 +282,7 @@ public:
|
|||||||
void mapComplete(const uint256& hash, SHAMap::ref map);
|
void mapComplete(const uint256& hash, SHAMap::ref map);
|
||||||
bool stillNeedTXSet(const uint256& hash);
|
bool stillNeedTXSet(const uint256& hash);
|
||||||
void makeFetchPack(Job&, boost::weak_ptr<Peer> peer, boost::shared_ptr<ripple::TMGetObjectByHash> request,
|
void makeFetchPack(Job&, boost::weak_ptr<Peer> peer, boost::shared_ptr<ripple::TMGetObjectByHash> request,
|
||||||
Ledger::pointer wantLedger, Ledger::pointer haveLedger);
|
Ledger::pointer wantLedger, Ledger::pointer haveLedger, uint32 uUptime);
|
||||||
bool shouldFetchPack(uint32 seq);
|
bool shouldFetchPack(uint32 seq);
|
||||||
void gotFetchPack(bool progress, uint32 seq);
|
void gotFetchPack(bool progress, uint32 seq);
|
||||||
void addFetchPack(const uint256& hash, boost::shared_ptr< std::vector<unsigned char> >& data);
|
void addFetchPack(const uint256& hash, boost::shared_ptr< std::vector<unsigned char> >& data);
|
||||||
|
|||||||
@@ -1911,7 +1911,7 @@ void Peer::doFetchPack(const boost::shared_ptr<ripple::TMGetObjectByHash>& packe
|
|||||||
}
|
}
|
||||||
theApp->getJobQueue().addJob(jtPACK, "MakeFetchPack",
|
theApp->getJobQueue().addJob(jtPACK, "MakeFetchPack",
|
||||||
BIND_TYPE(&NetworkOPs::makeFetchPack, &theApp->getOPs(), P_1,
|
BIND_TYPE(&NetworkOPs::makeFetchPack, &theApp->getOPs(), P_1,
|
||||||
boost::weak_ptr<Peer>(shared_from_this()), packet, wantLedger, haveLedger));
|
boost::weak_ptr<Peer>(shared_from_this()), packet, wantLedger, haveLedger, upTime()));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Peer::hasProto(int version)
|
bool Peer::hasProto(int version)
|
||||||
|
|||||||
Reference in New Issue
Block a user