Separate ledger publish logic so we can tell if clients are overloading us.

This commit is contained in:
JoelKatz
2012-11-23 12:15:04 -08:00
parent 4065106592
commit 8b53f85f60
5 changed files with 10 additions and 5 deletions

View File

@@ -23,8 +23,9 @@ const char* Job::toString(JobType t)
case jtCLIENT: return "clientCommand";
case jtPEER: return "peerCommand";
case jtDISK: return "diskAccess";
case jtLEDGER: return "acceptLedger";
case jtRPC: return "rpc";
case jtACCEPTLEDGER: return "acceptLedger";
case jtPUBLEDGER: return "pubLedger";
default: assert(false); return "unknown";
}
}

View File

@@ -36,10 +36,11 @@ enum JobType
jtCLIENT = 10,
jtPEER = 11,
jtDISK = 12,
jtLEDGER = 13,
jtRPC = 14,
jtRPC = 13,
jtACCEPTLEDGER = 14,
jtPUBLEDGER = 15,
};
#define NUM_JOB_TYPES 16
#define NUM_JOB_TYPES 24
class Job
{

View File

@@ -439,6 +439,7 @@ void Ledger::saveAcceptedLedger(bool fromConsensus)
}
theApp->getMasterLedger().setFullLedger(shared_from_this());
event = LoadEvent::pointer();
theApp->getOPs().pubLedger(shared_from_this());

View File

@@ -1027,7 +1027,7 @@ void LedgerConsensus::beginAccept(bool synchronous)
else
{
theApp->getIOService().post(boost::bind(&LedgerConsensus::accept, shared_from_this(), consensusSet,
theApp->getJobQueue().getLoadEvent(jtLEDGER)));
theApp->getJobQueue().getLoadEvent(jtACCEPTLEDGER)));
}
}

View File

@@ -1002,6 +1002,8 @@ void NetworkOPs::pubLedger(Ledger::ref lpAccepted)
if (NetworkOPs::omDISCONNECTED == getOperatingMode())
return;
LoadEvent::pointer event = theApp->getJobQueue().getLoadEvent(jtPUBLEDGER);
{
boost::interprocess::sharable_lock<boost::interprocess::interprocess_upgradable_mutex> sl(mMonitorLock);