Merge lp:~therve/txamqp/queue-timeout into lp:txamqp

Proposed by Esteve Fernandez
Status: Merged
Merged at revision: not available
Proposed branch: lp:~therve/txamqp/queue-timeout
Merge into: lp:txamqp
Diff against target: None lines
To merge this branch: bzr merge lp:~therve/txamqp/queue-timeout
Reviewer Review Type Date Requested Status
Esteve Fernandez Approve
Thomas Herve Pending
Review via email: mp+5897@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Esteve Fernandez (esteve) :
review: Approve
lp:~therve/txamqp/queue-timeout updated
14. By Thomas Herve

Parametrize the reactor for easing tests.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/txamqp/queue.py'
--- src/txamqp/queue.py 2008-10-29 18:31:04 +0000
+++ src/txamqp/queue.py 2009-04-23 12:04:46 +0000
@@ -17,7 +17,9 @@
17 self.waiting.remove(deferred)17 self.waiting.remove(deferred)
18 deferred.errback(Empty())18 deferred.errback(Empty())
1919
20 def _raiseIfClosed(self, result):20 def _raiseIfClosed(self, result, call_id):
21 if call_id is not None:
22 call_id.cancel()
21 if result == TimeoutDeferredQueue.END:23 if result == TimeoutDeferredQueue.END:
22 self.put(TimeoutDeferredQueue.END)24 self.put(TimeoutDeferredQueue.END)
2325
@@ -28,10 +30,12 @@
28 def get(self, timeout=None):30 def get(self, timeout=None):
29 deferred = DeferredQueue.get(self)31 deferred = DeferredQueue.get(self)
3032
31 deferred.addCallback(self._raiseIfClosed)33 call_id = None
32
33 if timeout:34 if timeout:
34 deferred.setTimeout(timeout, timeoutFunc=self._timeout)35 from twisted.internet import reactor
36 call_id = reactor.callLater(timeout, self._timeout, deferred)
37 deferred.addCallback(self._raiseIfClosed, call_id)
38
35 return deferred39 return deferred
3640
37 def close(self):41 def close(self):

Subscribers

People subscribed via source and target branches

to status/vote changes: