comparison sat/bridge/bridge_constructor/constructors/pb/constructor.py @ 3039:a1bc34f90fa5

bridge (pb): implemented an asyncio compatible bridge: `pb` bridge can now be used with asyncio by instantiating AIOBridge.
author Goffi <goffi@goffi.org>
date Wed, 25 Sep 2019 08:53:38 +0200
parents ab2696e34d29
children 9d0df638c8b4
comparison
equal deleted inserted replaced
3038:5f3068915686 3039:a1bc34f90fa5
38 {debug}d = self.root.callRemote("{name}"{args_comma}{args_no_def}) 38 {debug}d = self.root.callRemote("{name}"{args_comma}{args_no_def})
39 if callback is not None: 39 if callback is not None:
40 d.addCallback({callback}) 40 d.addCallback({callback})
41 if errback is None: 41 if errback is None:
42 errback = self._generic_errback 42 errback = self._generic_errback
43 d.addErrback(errback)\n""" 43 d.addErrback(errback)\n""",
44 "async_methods": """\
45 def {name}(self{args_comma}{args}):
46 {debug}d = self.root.callRemote("{name}"{args_comma}{args_no_def})
47 d.addErrback(self._errback)
48 return d.asFuture(asyncio.get_event_loop())\n""",
44 } 49 }
45 50
46 def core_completion_signal(self, completion, function, default, arg_doc, async_): 51 def core_completion_signal(self, completion, function, default, arg_doc, async_):
47 completion["args_no_def"] = self.getArguments(function["sig_in"], name=arg_doc) 52 completion["args_no_def"] = self.getArguments(function["sig_in"], name=arg_doc)
48 completion["debug"] = ( 53 completion["debug"] = (