rippled
Loading...
Searching...
No Matches
JobTypeInfo.h
1#pragma once
2
3#include <xrpl/core/Job.h>
4
5namespace xrpl {
6
9{
10private:
13
19 int const m_limit;
20
24
25public:
26 // Not default constructible
27 JobTypeInfo() = delete;
28
32 int limit,
34 std::chrono::milliseconds peakLatency)
35 : m_type(type)
36 , m_name(std::move(name))
37 , m_limit(limit)
38 , m_avgLatency(avgLatency)
39 , m_peakLatency(peakLatency)
40 {
41 }
42
44 type() const
45 {
46 return m_type;
47 }
48
49 std::string const&
50 name() const
51 {
52 return m_name;
53 }
54
55 int
56 limit() const
57 {
58 return m_limit;
59 }
60
61 bool
62 special() const
63 {
64 return m_limit == 0;
65 }
66
69 {
70 return m_avgLatency;
71 }
72
75 {
76 return m_peakLatency;
77 }
78};
79
80} // namespace xrpl
Holds all the 'static' information about a job, which does not change.
Definition JobTypeInfo.h:9
std::chrono::milliseconds const m_avgLatency
Average and peak latencies for this job type.
Definition JobTypeInfo.h:22
int limit() const
Definition JobTypeInfo.h:56
int const m_limit
The limit on the number of running jobs for this job type.
Definition JobTypeInfo.h:19
std::string const m_name
Definition JobTypeInfo.h:12
std::string const & name() const
Definition JobTypeInfo.h:50
std::chrono::milliseconds getPeakLatency() const
Definition JobTypeInfo.h:74
std::chrono::milliseconds const m_peakLatency
Definition JobTypeInfo.h:23
bool special() const
Definition JobTypeInfo.h:62
JobType type() const
Definition JobTypeInfo.h:44
std::chrono::milliseconds getAverageLatency() const
Definition JobTypeInfo.h:68
JobType const m_type
Definition JobTypeInfo.h:11
JobTypeInfo()=delete
JobTypeInfo(JobType type, std::string name, int limit, std::chrono::milliseconds avgLatency, std::chrono::milliseconds peakLatency)
Definition JobTypeInfo.h:29
STL namespace.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
JobType
Definition Job.h:14