Skip to content

Commit f223dde

Browse files
committed
add Prune
1 parent cbd7828 commit f223dde

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

KeyLocker.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,15 @@ public bool ReleaseAll(string key)
5757

5858
return Lockers.TryUpdate(key, newLocker, oldLocker);
5959
}
60+
61+
public void Prune(params string[] keys)
62+
{
63+
var keysToRemove = keys.Length == 0 ? Lockers.Keys : keys;
64+
65+
foreach (var key in keysToRemove)
66+
{
67+
if (Lockers.TryGetValue(key, out var locker) && locker.IsExpired)
68+
Lockers.TryRemove(key, out _);
69+
}
70+
}
6071
}

0 commit comments

Comments
 (0)