美文网首页
RateLimiter解读

RateLimiter解读

作者: MinorUncle | 来源:发表于2018-01-19 16:52 被阅读52次

RateLimiter严重依赖RateStatistics实现,其主要作用是限制最大码率,主要逻辑是,设置最大码率,通过RateStatistics计算一个时间窗口内的码率,每次调用TryUseRate时,判断加上该包到时间窗口中去后加上原有的码率会不会超出最大码率。

主要函数:

void RateLimiter::SetMaxRate(uint32_t max_rate_bps) :设置限制的最大码率

bool RateLimiter::SetWindowSize(int64_t window_size_ms) :码率计算是在该时间窗口内

bool RateLimiter::TryUseRate(size_t packet_size_bytes) :获得当前的码率,然后加上packet_size_bytes大小产生的码率增量,判断是否超过最大码率

相关文章

网友评论

      本文标题:RateLimiter解读

      本文链接:https://www.haomeiwen.com/subject/mcdsvxtx.html