19 const uint16_t CfgExpiration::DEFAULT_RECLAIM_TIMER_WAIT_TIME = 10;
20 const uint16_t CfgExpiration::DEFAULT_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 25;
21 const uint32_t CfgExpiration::DEFAULT_HOLD_RECLAIMED_TIME = 3600;
22 const uint32_t CfgExpiration::DEFAULT_MAX_RECLAIM_LEASES = 100;
23 const uint16_t CfgExpiration::DEFAULT_MAX_RECLAIM_TIME = 250;
24 const uint16_t CfgExpiration::DEFAULT_UNWARNED_RECLAIM_CYCLES = 5;
27 const uint16_t CfgExpiration::LIMIT_RECLAIM_TIMER_WAIT_TIME =
28 std::numeric_limits<uint16_t>::max();
29 const uint16_t CfgExpiration::LIMIT_FLUSH_RECLAIMED_TIMER_WAIT_TIME =
30 std::numeric_limits<uint16_t>::max();
31 const uint32_t CfgExpiration::LIMIT_HOLD_RECLAIMED_TIME =
32 std::numeric_limits<uint32_t>::max();
33 const uint32_t CfgExpiration::LIMIT_MAX_RECLAIM_LEASES =
34 std::numeric_limits<uint32_t>::max();
35 const uint16_t CfgExpiration::LIMIT_MAX_RECLAIM_TIME = 10000;
36 const uint16_t CfgExpiration::LIMIT_UNWARNED_RECLAIM_CYCLES =
37 std::numeric_limits<uint16_t>::max();
40 const std::string CfgExpiration::RECLAIM_EXPIRED_TIMER_NAME =
41 "reclaim-expired-leases";
43 const std::string CfgExpiration::FLUSH_RECLAIMED_TIMER_NAME =
44 "flush-reclaimed-leases";
46 CfgExpiration::CfgExpiration(
const bool test_mode)
47 : reclaim_timer_wait_time_(DEFAULT_RECLAIM_TIMER_WAIT_TIME),
48 flush_reclaimed_timer_wait_time_(DEFAULT_FLUSH_RECLAIMED_TIMER_WAIT_TIME),
49 hold_reclaimed_time_(DEFAULT_HOLD_RECLAIMED_TIME),
50 max_reclaim_leases_(DEFAULT_MAX_RECLAIM_LEASES),
51 max_reclaim_time_(DEFAULT_MAX_RECLAIM_TIME),
52 unwarned_reclaim_cycles_(DEFAULT_UNWARNED_RECLAIM_CYCLES),
54 test_mode_(test_mode) {
60 "reclaim-timer-wait-time");
61 reclaim_timer_wait_time_ = reclaim_timer_wait_time;
67 "flush-reclaimed-timer-wait-time");
68 flush_reclaimed_timer_wait_time_ = flush_reclaimed_wait_time;
74 hold_reclaimed_time_ = hold_reclaimed_time;
80 max_reclaim_leases_ = max_reclaim_leases;
86 max_reclaim_time_ = max_reclaim_time;
92 "unwarned-reclaim-cycles");
93 unwarned_reclaim_cycles_ = unwarned_reclaim_cycles;
97 CfgExpiration::rangeCheck(
const int64_t value,
const uint64_t max_value,
98 const std::string& config_parameter_name)
const {
101 << config_parameter_name <<
"' must not be negative");
103 }
else if (value > max_value) {
105 " parameter '" << config_parameter_name <<
"', expected maximum"
106 " value of '" << max_value <<
"'");
114 result->set(
"reclaim-timer-wait-time",
115 Element::create(
static_cast<long long>
116 (reclaim_timer_wait_time_)));
118 result->set(
"flush-reclaimed-timer-wait-time",
119 Element::create(
static_cast<long long>
120 (flush_reclaimed_timer_wait_time_)));
122 result->set(
"hold-reclaimed-time",
123 Element::create(
static_cast<long long>
124 (hold_reclaimed_time_)));
126 result->set(
"max-reclaim-leases",
127 Element::create(
static_cast<long long>
128 (max_reclaim_leases_)));
130 result->set(
"max-reclaim-time",
131 Element::create(
static_cast<long long>
132 (max_reclaim_time_)));
134 result->set(
"unwarned-reclaim-cycles",
135 Element::create(
static_cast<long long>
136 (unwarned_reclaim_cycles_)));