Merge pull request #574 from acul71/fix/issue-565-timedcache-test_reading_after_expiry

Fix/issue 565 timed cache test reading after expiry
This commit is contained in:
Manu Sheel Gupta
2025-04-20 23:00:29 +05:30
committed by GitHub

View File

@ -9,12 +9,24 @@ class FirstSeenCache(BaseTimedCache):
"""Cache where expiry is set only when first added."""
def add(self, key: bytes) -> bool:
now = int(time.time())
with self.lock:
if key in self.cache:
# Check if the key is expired
if self.cache[key] <= now:
# Key is expired, update the expiry and treat as a new entry
self.cache[key] = now + self.ttl
return True
return False
self.cache[key] = int(time.time()) + self.ttl
self.cache[key] = now + self.ttl
return True
def has(self, key: bytes) -> bool:
now = int(time.time())
with self.lock:
return key in self.cache
if key in self.cache:
# Check if key is expired
if self.cache[key] <= now:
return False
return True
return False