<br><br><div class="gmail_quote">On Fri, Oct 26, 2012 at 7:49 PM, Yury Selivanov <span dir="ltr"><<a href="mailto:yselivanov.ml@gmail.com" target="_blank">yselivanov.ml@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


If it is decorated, though, how can I invoke it with a timeout?<br><div class="HOEnZb"><div class="h5"></div></div></blockquote><div><br>The important thing to remember is that the fundamental abstraction at play here is the deferred. Calling such a decorated function gives you a deferred. So, you call it with a timeout the same way you timeout (cancel) any deferred:<br>

<br>d = deferred_returning_expression<br>reactor.callLater(timeout, d.cancel)<br><br>Where deferred_returning_expression can be anything, including calling your @inlineCallbacks-decorated function.<br><br>The way it fits in with all existing stuff, making it look an awful lot like a lot of existing stuff, is probably why deferred cancellation is one of the more recent features to make it into twisted: a lot of people did similar things using the tools that were already there.<br>

<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
-<br>
Yury<br></div></div></blockquote></div>-- <br>cheers<div>lvh</div><br>