From fe62d01b7efd878d291d9830f530c769eeeb62ec Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 25 Feb 2022 20:42:56 +0100 Subject: Implement exponential backoff for resync retries --- src/util/sled_counter.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/util/sled_counter.rs') diff --git a/src/util/sled_counter.rs b/src/util/sled_counter.rs index 8af04f50..bc54cea0 100644 --- a/src/util/sled_counter.rs +++ b/src/util/sled_counter.rs @@ -52,6 +52,14 @@ impl SledCountedTree { res } + pub fn remove>(&self, key: K) -> Result> { + let res = self.0.tree.remove(key); + if matches!(res, Ok(Some(_))) { + self.0.len.fetch_sub(1, Ordering::Relaxed); + } + res + } + pub fn pop_min(&self) -> Result> { let res = self.0.tree.pop_min(); if let Ok(Some(_)) = &res { -- cgit v1.2.3