Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def msg_received(self, data):
try:
header, banswer = data
pid, rnd, req_id, timestamp, is_error = self.RESP.unpack(header)
answer = self.packer.unpackb(banswer)
except Exception:
logger.critical("Cannot unpack %r", data, exc_info=sys.exc_info())
return
call = self.calls.pop(req_id, None)
if call is None:
logger.critical("Unknown answer id: %d (%d %d %f %d) -> %s",
req_id, pid, rnd, timestamp, is_error, answer)
elif call.cancelled():
logger.debug("The future for request #%08x has been cancelled, "
"skip the received result.", req_id)
else:
if is_error:
call.set_exception(self._translate_error(*answer))
else:
call.set_result(answer)
def msg_received(self, data):
try:
header, banswer = data
pid, rnd, req_id, timestamp, is_error = self.RESP.unpack(header)
answer = self.packer.unpackb(banswer)
except Exception:
logger.critical("Cannot unpack %r", data, exc_info=sys.exc_info())
return
call = self.calls.pop(req_id, None)
if call is None:
logger.critical("Unknown answer id: %d (%d %d %f %d) -> %s",
req_id, pid, rnd, timestamp, is_error, answer)
elif call.cancelled():
logger.debug("The future for request #%08x has been cancelled, "
"skip the received result.", req_id)
else:
if is_error:
call.set_exception(self._translate_error(*answer))
else:
call.set_result(answer)
def process_call_result(self, fut, *, name, args, kwargs):
self.discard_pending(fut)
try:
if fut.result() is not None:
logger.warning("Pipeline handler %r returned not None", name)
except (NotFoundError, ParametersError) as exc:
logger.exception("Call to %r caused error: %r", name, exc)
except asyncio.CancelledError:
return
except Exception:
self.try_log(fut, name, args, kwargs)
def process_call_result(self, fut, *, name, args, kwargs):
self.discard_pending(fut)
try:
if fut.result() is not None:
logger.warning("PubSub handler %r returned not None", name)
except asyncio.CancelledError:
return
except (NotFoundError, ParametersError) as exc:
logger.exception("Call to %r caused error: %r", name, exc)
except Exception:
self.try_log(fut, name, args, kwargs)
def msg_received(self, data):
try:
*pre, header, bname, bargs, bkwargs = data
pid, rnd, req_id, timestamp = self.REQ.unpack(header)
name = bname.decode('utf-8')
args = self.packer.unpackb(bargs)
kwargs = self.packer.unpackb(bkwargs)
except Exception:
logger.critical("Cannot unpack %r", data, exc_info=sys.exc_info())
return
try:
func = self.dispatch(name)
args, kwargs, ret_ann = self.check_args(func, args, kwargs)
except (NotFoundError, ParametersError) as exc:
fut = asyncio.Future(loop=self.loop)
fut.add_done_callback(partial(self.process_call_result,
req_id=req_id, pre=pre,
name=name, args=args, kwargs=kwargs))
fut.set_exception(exc)
else:
if asyncio.iscoroutinefunction(func):
fut = self.add_pending(func(*args, **kwargs))
else:
fut = asyncio.Future(loop=self.loop)
try: