From 53d6987f9e46927bbc9ad683c091c070ebe06658 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Fri, 28 Apr 2023 13:10:23 +0100 Subject: [PATCH] ratelimit: add ratelimit_left helper --- src/basic/ratelimit.c | 9 +++++++++ src/basic/ratelimit.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/basic/ratelimit.c b/src/basic/ratelimit.c index 5675ec2f46..41ca0709e8 100644 --- a/src/basic/ratelimit.c +++ b/src/basic/ratelimit.c @@ -49,3 +49,12 @@ usec_t ratelimit_end(const RateLimit *rl) { return usec_add(rl->begin, rl->interval); } + +usec_t ratelimit_left(const RateLimit *rl) { + assert(rl); + + if (rl->begin == 0) + return 0; + + return usec_sub_unsigned(ratelimit_end(rl), now(CLOCK_MONOTONIC)); +} diff --git a/src/basic/ratelimit.h b/src/basic/ratelimit.h index 048084ece4..bb7160a895 100644 --- a/src/basic/ratelimit.h +++ b/src/basic/ratelimit.h @@ -25,3 +25,4 @@ bool ratelimit_below(RateLimit *r); unsigned ratelimit_num_dropped(RateLimit *r); usec_t ratelimit_end(const RateLimit *rl); +usec_t ratelimit_left(const RateLimit *rl);