def recv_response(self, socket): empty = socket.recv() assert empty == b'', "Empty expected!" raw_reply = socket.recv_loaded() assert isinstance(raw_reply, dict), "Dict expected!" reply = zmq_response.Reply(**raw_reply) return reply.reply_id, reply.msg_type, reply.message_id, reply
def _reply(self, rpc_message, reply, failure): if failure is not None: failure = rpc_common.serialize_remote_exception(failure) reply = zmq_response.Reply(message_id=rpc_message.message_id, reply_id=rpc_message.reply_id, reply_body=reply, failure=failure) self.reply_sender.send(rpc_message.socket, reply) return reply
def reply(self, reply=None, failure=None): if self.reply_sender is not None: if failure is not None: failure = rpc_common.serialize_remote_exception(failure) reply = zmq_response.Reply(message_id=self.message_id, reply_id=self.reply_id, reply_body=reply, failure=failure) self.reply_sender.send(self.socket, reply) if self.replies_cache is not None: self.replies_cache.add(self.message_id, reply)
def recv_response(self, socket): empty = socket.recv() assert empty == b'', "Empty expected!" reply_id = socket.recv() assert reply_id is not None, "Reply ID expected!" message_type = int(socket.recv()) assert message_type == zmq_names.REPLY_TYPE, "Reply expected!" message_id = socket.recv_string() reply_body, failure = socket.recv_loaded() reply = zmq_response.Reply( message_id=message_id, reply_id=reply_id, reply_body=reply_body, failure=failure ) return reply_id, message_type, message_id, reply
def _receive_response_v_1_0(self, socket): message_type = int(socket.recv()) assert message_type in zmq_names.RESPONSE_TYPES, "Response expected!" message_id = socket.recv_string() assert message_id != '', "Valid message id expected!" if message_type == zmq_names.REPLY_TYPE: reply_body, failure = socket.recv_loaded() reply = zmq_response.Reply(message_id=message_id, reply_body=reply_body, failure=failure) return reply else: ack = zmq_response.Ack(message_id=message_id) return ack