繁体   English   中英

如何使用RateLimiter丢弃数据包?

[英]How can I drop packets using RateLimiter?

我正在尝试使用RateLimiter以每秒特定的限制丢弃数据包。

final RateLimiter rateLimiter = RateLimiter.create(5000.0); // rate = 5000 permits per second
void submitPacket(byte[] packet) {
    rateLimiter.acquire(packet.length);
    networkService.send(packet);
}

问题是rateLimiter.acquire块而不是丢弃数据包。 如果没有所需的带宽,如何配置rateLimiter丢弃数据包?

RateLimiter.tryAcquire不会阻止,而是如果不能立即获得许可,则返回false 你可能会写像

if (rateLimiter.tryAcquire(packet.length)) {
   networkService.send(packet);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM