from tfw.networking.serialization import deserialize_all from tfw.networking.solvable_connector import SolvableConnector class AsyncSolvableConnector(SolvableConnector): def __init__(self, async_zmq_context=None): if async_zmq_context is None: from zmq.eventloop.future import Context async_zmq_context = Context.instance() super(AsyncSolvableConnector, self).__init__(async_zmq_context) async def recv(self): response = await self._zmq_req_socket.recv_multipart() return deserialize_all(*response)