Put data in cache with size tracking.
(self, key: str, data: bytes)
| 61 | return entry.data |
| 62 | |
| 63 | def put(self, key: str, data: bytes) -> None: |
| 64 | """Put data in cache with size tracking.""" |
| 65 | with self._lock: |
| 66 | data_size = len(data) |
| 67 | |
| 68 | # Remove existing entry if present |
| 69 | if key in self._entries: |
| 70 | old_entry = self._entries.pop(key) |
| 71 | self._total_bytes -= old_entry.size |
| 72 | |
| 73 | # Create new entry |
| 74 | entry = CacheEntry(data=data, timestamp=time.time(), size=data_size) |
| 75 | self._entries[key] = entry |
| 76 | self._total_bytes += data_size |
| 77 | |
| 78 | self._evict_if_needed() |
| 79 | |
| 80 | def delete(self, key: str) -> None: |
| 81 | """Delete entry from cache.""" |
no test coverage detected