sglang0.4.5.post1/python/sglang/srt/mem_cache/base_prefix_cache.py

51 lines
973 B
Python

from abc import ABC, abstractmethod
from typing import Any, List, Tuple
class BasePrefixCache(ABC):
"""Cache can be indexed by either rid or key."""
@abstractmethod
def reset(self):
pass
@abstractmethod
def match_prefix(self, **kwargs) -> Tuple[List[int], int]:
pass
@abstractmethod
def insert(self, **kwargs):
pass
@abstractmethod
def cache_finished_req(self, **kwargs):
pass
@abstractmethod
def cache_unfinished_req(self, **kwargs):
pass
@abstractmethod
def evict(self, num_tokens: int):
pass
@abstractmethod
def inc_lock_ref(self, node: Any):
pass
@abstractmethod
def dec_lock_ref(self, node: Any):
pass
def evictable_size(self):
return 0
def protected_size(self):
return 0
def total_size(self):
raise NotImplementedError()
def pretty_print(self):
raise NotImplementedError()