From 593cedc828e5bb2ed1dd955b4bfc3ad1b4fe8550 Mon Sep 17 00:00:00 2001 From: Lakshman Patel Date: Fri, 31 Jul 2026 06:40:00 +0530 Subject: [PATCH] feat: add DrainAlerts method to UsageTracker --- ratelimit.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ratelimit.go b/ratelimit.go index 6b37141a..4b692910 100644 --- a/ratelimit.go +++ b/ratelimit.go @@ -210,6 +210,17 @@ func (u *UsageTracker) CheckThresholds() { u.checkThresholdsLocked() } +// DrainAlerts returns all pending alerts and clears the alert buffer. +func (u *UsageTracker) DrainAlerts() []Alert { + u.mu.Lock() + defer u.mu.Unlock() + + alerts := make([]Alert, len(u.Alerts)) + copy(alerts, u.Alerts) + u.Alerts = nil + return alerts +} + func (u *UsageTracker) checkThresholdsLocked() { u.pruneOldLocked()