X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=loctrkd%2Fprotomodule.py;h=0ffff1762dae179ac2b7124c04e8741ef160bf71;hb=15ae27495d0acd8583297bf1ced7154125a73285;hp=1a6f0fc5ada46a73cb83d1536c9ad0d3d717d6c6;hpb=cbb7603aebedf517d7b7c61ff6de02d3e7193409;p=loctrkd.git diff --git a/loctrkd/protomodule.py b/loctrkd/protomodule.py index 1a6f0fc..0ffff17 100644 --- a/loctrkd/protomodule.py +++ b/loctrkd/protomodule.py @@ -88,6 +88,10 @@ class ProtoClass(Protocol, metaclass=_MetaProto): IN_KWARGS: Tuple[Tuple[str, Callable[[Any], Any], Any], ...] = () OUT_KWARGS: Tuple[Tuple[str, Callable[[Any], Any], Any], ...] = () + @classmethod + def proto_name(cls) -> str: + ... + class In: def __init__(self, *args: Any, **kwargs: Any) -> None: ... @@ -118,6 +122,8 @@ class ProtoClass(Protocol, metaclass=_MetaProto): class ProtoModule: + PMODNAME: str + class Stream: def recv(self, segment: bytes) -> List[Union[bytes, str]]: ... @@ -129,6 +135,9 @@ class ProtoModule: def enframe(buffer: bytes, imei: Optional[str] = None) -> bytes: ... + class DecodeError(Exception): + ... + @staticmethod def exposed_protos() -> List[Tuple[str, bool]]: ... @@ -164,3 +173,9 @@ class ProtoModule: @staticmethod def class_by_prefix(prefix: str) -> Union[Type[ProtoClass], List[str]]: ... + + @staticmethod + def make_response( + cmd: str, imei: str, **kwargs: Any + ) -> Optional[ProtoClass.Out]: + ...