From e22df3ab01f133ff05c9b8dff3b888611a5fa84b Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 2 Nov 2025 00:03:37 +0300 Subject: [PATCH] Simplify rate limiter code --- flix/util.h | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/flix/util.h b/flix/util.h index bba411f..025cd5e 100644 --- a/flix/util.h +++ b/flix/util.h @@ -50,18 +50,14 @@ void splitString(String& str, String& token0, String& token1, String& token2) { token2 = strtok(NULL, ""); } -// Helper for running code at a fixed rate +// Rate limiter class Rate { public: float rate; - float last = NAN; + float last = 0; Rate(float rate) : rate(rate) {} operator bool() { - if (isnan(last)) { - last = t; - return true; - } if (t - last >= 1 / rate) { last = t; return true; @@ -81,8 +77,7 @@ public: if (!on) { start = NAN; return false; - } - if (isnan(start)) { + } else if (isnan(start)) { start = t; } return t - start >= delay;