|
|
@@ -37,10 +37,6 @@ class RequestHandler(object):
|
|
|
'SLEEP' : self.execute_sleep,
|
|
|
}
|
|
|
|
|
|
- def is_active(self):
|
|
|
- """Tests if this request handler has a top-of-stack generator."""
|
|
|
- return len(self.generator_stack) > 0
|
|
|
-
|
|
|
def handle_request(self, reply):
|
|
|
"""Replies to a request from the top-of-stack generator, and returns a new request."""
|
|
|
if not self.generator_stack:
|
|
|
@@ -64,10 +60,10 @@ class RequestHandler(object):
|
|
|
gen["pending_requests"] = gen["generator"].send(gen["replies"])
|
|
|
gen["finished_requests"] = False
|
|
|
gen["replies"] = None
|
|
|
- return self.pop_requests()
|
|
|
+ ret = self.pop_requests()
|
|
|
+ if ret[0]:
|
|
|
+ return ret[1]
|
|
|
|
|
|
- except KnownRequestHandled:
|
|
|
- pass
|
|
|
except StopIteration:
|
|
|
# Done, so remove the generator
|
|
|
del self.generator_stack[-1]
|
|
|
@@ -123,7 +119,8 @@ class RequestHandler(object):
|
|
|
|
|
|
# Handle the request.
|
|
|
self.handlers[elem[0]](elem[1])
|
|
|
- raise KnownRequestHandled()
|
|
|
+ return (False, None)
|
|
|
+ #raise KnownRequestHandled()
|
|
|
else:
|
|
|
for i, elem in enumerate(requests):
|
|
|
if elem[0] in self.handlers:
|
|
|
@@ -135,7 +132,8 @@ class RequestHandler(object):
|
|
|
# We couldn't find a known request in the batch of requests, so we might as well
|
|
|
# handle them all at once then.
|
|
|
self.generator_stack[-1]["finished_requests"] = True
|
|
|
- return requests
|
|
|
+ #return requests
|
|
|
+ return (True, requests)
|
|
|
|
|
|
def execute_call(self, request_args):
|
|
|
"""Executes a CALL-request with the given argument list."""
|