def send_request(self, request): """ Send request message. A Deferred instance is returned immediately, which can then be used to wait on the response, or to register a call-back instead. Value returned via deferred will be the response message itself. """ deferred = Deferred() self.deferreds[request.getheader("CORID")] = deferred request.setheader("REPLY-TO", self.responses.geturl()) self.messaging.route(request) return deferred
def __init__(self, *args, **kw): self.deferred = Deferred() super(Task, self).__init__(*args, **kw)
def invoke(*args, **kw): deferred = Deferred() try: result = invocable(*args, **kw) except Exception, error: deferred.failed(error)
def receive(self, blocking=True, timeout=None): with self.synclock: deferred = Deferred() self.deferreds.add(deferred) return deferred.getvalue(blocking, timeout)