Hi All<div><br></div><div> I just to let you know that defer.inlineCallbacks can't work with cython well. an example:</div><div><br></div><div><br></div><div>def await():</div><div> d = defer.Deferred()</div><div> reactor.callLater(3, d.callback, True)</div>
<div> return d</div><div><br></div><div>@defer.inlineCallbacks</div><div>def host():</div><div> thing = yield await()</div><div> ""do sth"""</div><div><br></div><div>will fail to work on cython due to cython would change the function name(here I refer to host()) which lead to generator can't send back the result to the original function.</div>
<div><br></div><div>However, deferredGenerator does work with cython</div><div><br></div><div>like:</div><div><br></div><div><div>@defer.deferredGenerator</div><div>def host():</div><div> d = await()</div><div> thing = defer.waitForDeferred(d)</div>
<div> yield thing</div></div><div><br></div><div><br></div><div> It is not a common case to write such codes with cython, in case of need, deferredGenerator may help.</div><div><br></div><div> I personally hope deferredGenerator will be always there even python 2.4 support has been abandoned. deferredGenerator itself is not so elegant as inlineCallbacks, at least I don't need</div>
<div><br></div><div>to struggle with a series of callback functions..</div><div><br></div><div>Regards</div><div><br></div><div>gelin yan</div><div><br></div><div> </div><div><br></div>