예제 #1
0
 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
예제 #3
0
 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)
예제 #4
0
 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
예제 #5
0
 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