def do_request(self, request): # TODO: reject if sender or command is malformed print 'REQUEST: namespace =', self.namespace, '; machine =', request[ 'machine'] target = self.tracker.get_client_in_namespace(self.namespace, request['machine']) if target is None: print "No machine named:", request['machine'] msg = ResponseMessage.error(request.id, reason="No machine exists named %r" % request['machine'], code=ErrorCodes.UNKNOWN_MACHINE) yield gen.Task(self.stream.write, msg) raise StopIteration msg = InvocationMessage.create(request['command']) if not msg: print "bad message:", repr(msg) raise StopIteration msg.sender = self.machine print target.id, '<-', msg.name, '[forwarding]' response = yield gen.Task(target.request, msg) print '[forwarding]', target.id, '->', response response.sender = target.machine print self.id, '<-', response, '[forwarding]' yield gen.Task(self.stream.write, response)
def do_send(self, request, callback=None): # TODO: reject if sender or command is malformed target = self.tracker.get_client_in_namespace(self.namespace, request['machine']) if target is None: # absorb all invalid messages print "No machine named:", request['machine'], '... Ignoring message' raise StopIteration msg = InvocationMessage.create(request['command']) if not msg: print repr(request) print "bad message:", repr(msg) raise StopIteration msg.sender = self.machine print target.id, '<-', msg.name, '[forwarding]' yield gen.Task(target.stream.write, msg) if callable(callback): callback()
def do_send(self, request, callback=None): # TODO: reject if sender or command is malformed target = self.tracker.get_client_in_namespace(self.namespace, request['machine']) if target is None: # absorb all invalid messages print "No machine named:", request[ 'machine'], '... Ignoring message' raise StopIteration msg = InvocationMessage.create(request['command']) if not msg: print repr(request) print "bad message:", repr(msg) raise StopIteration msg.sender = self.machine print target.id, '<-', msg.name, '[forwarding]' yield gen.Task(target.stream.write, msg) if callable(callback): callback()
def do_request(self, request): # TODO: reject if sender or command is malformed print 'REQUEST: namespace =', self.namespace, '; machine =', request['machine'] target = self.tracker.get_client_in_namespace(self.namespace, request['machine']) if target is None: print "No machine named:", request['machine'] msg = ResponseMessage.error(request.id, reason="No machine exists named %r" % request['machine'], code=ErrorCodes.UNKNOWN_MACHINE) yield gen.Task(self.stream.write, msg) raise StopIteration msg = InvocationMessage.create(request['command']) if not msg: print "bad message:", repr(msg) raise StopIteration msg.sender = self.machine print target.id, '<-', msg.name, '[forwarding]' response = yield gen.Task(target.request, msg) print '[forwarding]', target.id, '->', response response.sender = target.machine print self.id, '<-', response, '[forwarding]' yield gen.Task(self.stream.write, response)