feat: 限速算法的扩展性

This commit is contained in:
Junyan Qin
2024-03-12 16:31:54 +00:00
parent b9fa11c0c3
commit 13393b6624
4 changed files with 33 additions and 3 deletions
+15
View File
@@ -1,11 +1,26 @@
from __future__ import annotations
import abc
import typing
from ...core import app
preregistered_algos: list[typing.Type[ReteLimitAlgo]] = []
def algo_class(name: str):
def decorator(cls: typing.Type[ReteLimitAlgo]) -> typing.Type[ReteLimitAlgo]:
cls.name = name
preregistered_algos.append(cls)
return cls
return decorator
class ReteLimitAlgo(metaclass=abc.ABCMeta):
name: str = None
ap: app.Application
def __init__(self, ap: app.Application):