1 Star 2 Fork 0

朱鸿/DNS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
RateLimiter.h 631 Bytes
一键复制 编辑 原始数据 按行查看 历史
朱鸿 提交于 2022-06-29 18:31 +08:00 . init
#pragma once
#include <mutex>
#define RETRY_IMEDIATELY_TIMES 30
class RateLimiter {
public:
RateLimiter(int qps);
void pass();
private:
//互斥锁
std::mutex mtx;
//获得当前时间, 单位ns
long now();
//更新令牌桶中的令牌
void supplyTokens();
//尝试获得令牌
bool tryGetToken();
//必定成功获得令牌
void mustGetToken();
//令牌桶大小
int bucketSize;
//剩下的令牌数
int tokenLeft;
//补充令牌的单位时间
long supplyUnitTime;
//上次补充令牌的时间
long lastAddTokenTime;
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/zhu-hong202257887/DNS-Server.git
[email protected]:zhu-hong202257887/DNS-Server.git
zhu-hong202257887
DNS-Server
DNS
master

搜索帮助