MCPcopy Create free account
hub / github.com/Tencent/phxqueue / GetNextIntervalTimeMs

Method GetNextIntervalTimeMs

phxqueue/comm/utils/time_util.cpp:91–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89}
90
91const int PoissonDistribution :: GetNextIntervalTimeMs() {
92
93 if (impl_->last_base_interval_time_ms == 0) {
94 return 0;
95 }
96
97 if (impl_->base_interval_time_change) {
98 impl_->base_interval_time_change = false;
99
100 Rebuild(impl_->last_base_interval_time_ms);
101 }
102
103 int next_interval_time_ms = (int)((*impl_->delay_distribution)(*impl_->delay_generator));
104 if (impl_->min_interval_time_ms > 0 && next_interval_time_ms < impl_->min_interval_time_ms) {
105 next_interval_time_ms = impl_->min_interval_time_ms;
106 }
107 else if (impl_->max_interval_time_ms > 0 && next_interval_time_ms > impl_->max_interval_time_ms) {
108 next_interval_time_ms = impl_->max_interval_time_ms;
109 }
110
111 return next_interval_time_ms;
112}
113
114void PoissonDistribution :: RealtimeChangeBaseIntervalMs(const int new_base_interval_ms)
115{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected