mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 19:24:16 +02:00
refactor: migrate native modules from bauh/ to bearhub/ (test batch)
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -22,3 +22,4 @@ AGENTS.md
|
|||||||
packaging/aur/**/*.tar.gz
|
packaging/aur/**/*.tar.gz
|
||||||
packaging/aur/**/src
|
packaging/aur/**/src
|
||||||
packaging/aur/**/pkg
|
packaging/aur/**/pkg
|
||||||
|
|
||||||
|
|||||||
50
bearhub/api/abstract/cache.py
Normal file
50
bearhub/api/abstract/cache.py
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
from abc import ABC, abstractmethod
|
||||||
|
from typing import Set, Optional
|
||||||
|
|
||||||
|
|
||||||
|
class MemoryCache(ABC):
|
||||||
|
"""
|
||||||
|
Represents a memory cache.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def is_enabled(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def add(self, key: str, val: object):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def add_non_existing(self, key: str, val: object):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def get(self, key: str):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def delete(self, key):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def keys(self) -> Set[str]:
|
||||||
|
pass
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def clean_expired(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class MemoryCacheFactory(ABC):
|
||||||
|
"""
|
||||||
|
Instantiate new memory cache instances.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def new(self, expiration: Optional[int]) -> MemoryCache:
|
||||||
|
"""
|
||||||
|
:param expiration: expiration time for the cache keys in seconds. Use -1 to disable this feature.
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
pass
|
||||||
Reference in New Issue
Block a user