> On 20 Oct. 2016, at 08:54, Glyph Lefkowitz <gl...@twistedmatrix.com> wrote: > > >> On Oct 19, 2016, at 2:47 PM, Itamar Turner-Trauring <ita...@itamarst.org >> <mailto:ita...@itamarst.org>> wrote: >> >> On Wed, Oct 19, 2016, at 05:45 PM, Itamar Turner-Trauring wrote: >>> Well... I had a test that went through synchronous Deferred path. And yeah, >>> it was easier to write than async test. But it failed to catch a bug that >>> was only in async case. So the problem I see is that supporting both in >>> Deferred means you need twice the number of tests each time you use >>> Deferreds. >> >> Er, that was unclear. I had a bug that wasn't caught by tests because it >> passed with sync Deferred and failed with async Deferred callback, and I >> didn't have tests for latter. > > > To be clear: I do see this as a downside to Deferred's architecture; it's a > tradeoff. I see the loose coupling with the event loop as a worthwhile > upside.
One thing that I have still not figured out is how Futures (which are tightly tied to an event loop) will possibly ever work over multiple event loops. I think since you can't really chain them, this is less of a problem, but Deferreds like to absorb other Deferreds and make one big one, which would make the tight coupling problematic if you wanted to use two event loops (like, say, a GTK one and an IOCP one on Windows). - Amber > > However, it's totally possible to write the async Deferred callback case as > well, just by having the test fire the Deferred after returning to the test > body instead of firing it before :-). > > -glyph > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python