class serialization: p = jsonrpc.JSONRPCProtocol() @classmethod def create_request( cls, method: str, args: t.List[t.Any] = None, kwargs: t.Dict[str, t.Any] = None, one_way: bool = False, ) -> RPCRequest: return cls.p.create_request(method, args=args or [], kwargs=kwargs or {}, one_way=one_way) @classmethod def parse_request(cls, body: bytes) -> RPCRequest: return cls.p.parse_request(body)
def __init__( self, registry: Union[RpcRegistry, object], app: BaseApplication, discover_enabled: bool = True, loop: Optional[asyncio.AbstractEventLoop] = None, scheduler_kwargs: Optional[Dict[str, Any]] = None, servers: Optional[List[Server]] = None, external_docs: Optional[ExternalDocs] = None, ) -> None: self._registry = registry self._app = app self._discover_enabled = discover_enabled self._discover_result: Optional[Dict[str, Any]] = None self._ex = _Executor(registry) self._loop = loop self._protocol = rpc.JSONRPCProtocol() self._scheduler: Optional[aiojobs.Scheduler] = None self._scheduler_kwargs = scheduler_kwargs or {} self._servers: Optional[List[Server]] = servers self._external_docs: Optional[ExternalDocs] = external_docs
from tinyrpc.protocols import jsonrpc p = jsonrpc.JSONRPCProtocol() def do_task(msg: str) -> None: print(f"do, {msg}") # method, args, kwargs, one_way req = p.create_request("do_task", ["hello"], kwargs={}) res = req.respond(30) print(req.serialize()) print(req.one_way)
def __init__(self, *, serialization=jsonrpc.JSONRPCProtocol(), network=network): self.serialization = serialization self.network = network
def __init__(self, mapping): from tinyrpc.protocols import jsonrpc self.mapping = mapping self.serialization = jsonrpc.JSONRPCProtocol()