gpt4 book ai didi

java - 如何使用 RateLimiter 丢弃数据包?

转载 作者:行者123 更新时间:2023-12-02 04:03:07 24 4
gpt4 key购买 nike

我正在尝试使用 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);
}

关于java - 如何使用 RateLimiter 丢弃数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34684279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com