20#ifndef RIPPLE_CORE_JOBTYPES_H_INCLUDED
21#define RIPPLE_CORE_JOBTYPES_H_INCLUDED
23#include <xrpld/core/Job.h>
24#include <xrpld/core/JobTypeInfo.h>
43 std::chrono::milliseconds{0},
44 std::chrono::milliseconds{0})
46 using namespace std::chrono_literals;
57 "ripple::JobTypes::JobTypes::add : unique job type input");
59 [[maybe_unused]]
auto const inserted =
65 jt, name, limit, avgLatency, peakLatency))
70 "ripple::JobTypes::JobTypes::add : input is inserted");
76 add(
jtPACK,
"makeFetchPack", 1, 0ms, 0ms);
79 add(
jtMANIFEST,
"manifest", maxLimit, 2000ms, 5000ms);
81 add(
jtREPLAY_REQ,
"ledgerReplayRequest", 10, 250ms, 1000ms);
83 add(
jtPROPOSAL_ut,
"untrustedProposal", maxLimit, 500ms, 1250ms);
86 add(
jtCLIENT,
"clientCommand", maxLimit, 2000ms, 5000ms);
91 add(
jtCLIENT_RPC,
"clientRPC", maxLimit, 2000ms, 5000ms);
93 add(
jtRPC,
"RPC", maxLimit, 0ms, 0ms);
96 add(
jtBATCH,
"batch", maxLimit, 250ms, 1000ms);
97 add(
jtADVANCE,
"advanceLedger", maxLimit, 0ms, 0ms);
98 add(
jtPUBLEDGER,
"publishNewLedger", maxLimit, 3000ms, 4500ms);
100 add(
jtWAL,
"writeAhead", maxLimit, 1000ms, 2500ms);
101 add(
jtVALIDATION_t,
"trustedValidation", maxLimit, 500ms, 1500ms);
102 add(
jtWRITE,
"writeObjects", maxLimit, 1750ms, 2500ms);
103 add(
jtACCEPT,
"acceptLedger", maxLimit, 0ms, 0ms);
104 add(
jtPROPOSAL_t,
"trustedProposal", maxLimit, 100ms, 500ms);
105 add(
jtSWEEP,
"sweep", 1, 0ms, 0ms);
108 add(
jtADMIN,
"administration", maxLimit, 0ms, 0ms);
109 add(
jtMISSING_TXN,
"handleHaveTransactions", 1200, 0ms, 0ms);
112 add(
jtPEER,
"peerCommand", 0, 200ms, 2500ms);
113 add(
jtDISK,
"diskAccess", 0, 500ms, 1000ms);
114 add(
jtTXN_PROC,
"processTransaction", 0, 0ms, 0ms);
115 add(
jtOB_SETUP,
"orderBookSetup", 0, 0ms, 0ms);
143 Map::const_iterator
const iter(
m_map.
find(jt));
144 XRPL_ASSERT(iter !=
m_map.
end(),
"ripple::JobTypes::get : valid input");
Holds all the 'static' information about a job, which does not change.
std::string const & name() const
const_iterator cend() const
const_iterator end() const
const_iterator begin() const
static std::string const & name(JobType jt)
JobTypeInfo const & get(JobType jt) const
Map::const_iterator const_iterator
Map::size_type size() const
JobTypeInfo const & getInvalid() const
static JobTypes const & instance()
const_iterator cbegin() const
T forward_as_tuple(T... args)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.