+ try:
+ # Process the response
+ self.processResponse(dict)
+ except Exception, e:
+ # Unexpected error with the response
+ log.msg("action %s failed on %s/%s: %r" % (self.action, node.host, node.port, e))
+ if node.id != self.caller.node.id:
+ self.caller.nodeFailed(node)
+ self.failed[node.id] = 1
+ else:
+ self.answered[node.id] = 1
+ if node.id != self.caller.node.id:
+ reactor.callLater(0, self.caller.insertNode, node)