def onRIODrop(self, payload): try: req = Serialization.decode(payload) self.send_queue.put(req) self.pump_send_queue() except Serialization.DecodingException as e: print "Failed to decode dropped RPC request"
def handle_reply(self, src_addr, msg): print 'handle_reply' try: req = Serialization.decode(msg) self.recv_queue.put(req) self.pump_recv_queue() except Serialization.DecodingException as e: print 'failed to decode RPC reply'
def handle_request(self, src_addr, msg): try: req = Serialization.decode(msg) print 'handle_request: %r' % (req,) req = self.on_request(req, src_addr) out = Serialization.encode(req) if len(out) != 0 and req is not None: print 'replying to %d: %r' % (src_addr, req) self.RIOSend(src_addr, Protocol.CHITTER_RPC_REPLY, out) except Serialization.DecodingException as e: print 'failed to decode RPC request' except Serialization.EncodingException as e: print 'failed to encode RPC request'
def onRIOReceive(self, src_addr, protocol, byte_msg): if protocol != Protocol.PAXOS: return try: msg = Serialization.decode(byte_msg) except Serialization.DecodingException as e: # TODO(sumanvyj): better logging print "Failed to decode RPC reply." return try: handler = getattr(self, msg.kind.lower()) handler(src_addr, msg) except AttributeError: print "Invalid paxos message kind:", msg.kind return
def _content_to_chits(self, content): try: return [Serialization.decode(line) for line in lines(content)] except Serialization.DecodingException as e: e.printStackTrace() return None