Hmm first self-reply... after irc and own deja-vu... I started to compare chatola based on older lifepage implementation, because same req.notifyFinish().addErrback(...) thingy was used in nevow.livepage.OutputHandlerResource.renderHTTP(...) and strange... chatola based on this can handle leaving IE's immediately! But I cannot see the difference of the two connection-pattern (athena/livepage)... there are too much surrounding code-jungle for me anybody else? Peter (=PA=) On 11/9/05, Peter Arwanitis <spex66@gmx.net> wrote:
Hi there,
callremote example demonstrates the notifyOnDisconnect() feature for athena-livepages (using twisted2.0.1 / nevow0.6.0 / python2.3.5 on winXP).
Firefox triggers with a reload of the page or a change to another page the callbacks added to notifyOnDisconnect _immediately_ --> perfect! 'A client lives!' 'A client dies!' twisted.internet.error.ConnectionDone: Connection was closed cleanly. 'A client lives!' 'A client dies!' twisted.internet.error.ConnectionDone: Connection was closed cleanly. ... Why doesn't this work with IE, too??? The connections dies in a delayed timeout... but not immediately. The problem is, that meanwhile open connections from IE to webserver was established, and they are limited to TWO!!! And the whole things hangs, waiting for timeouts to free the connections.So this will be a serious bottleneck! (at least for my design :-/) 'A client lives!' 'A client lives!' ... ... later: 'A client dies!' twisted.internet.error.TimeoutError: User timeout transports created by client.
thanks to exarkun on irc and his hint to http://www.winguides.com/registry/display.php/536, you can play with number of needed connections, but leaving / refreshing a livepage
The mechanism is based on twisted.web.server.Request.notifyFinish() and hopes that this one is throwing a "twisted.internet.error.ConnectionDone: Connection was closed cleanly." if the connection got lost.
But this error to trigger the req.notifyFinish().addErrback(...) does not come with IE leaving or reloading a page.
Is this specific for me, or can somebody else reproduce this "feature".
Does someone have deeper knowledge about the live-connection hold with IE from athena? And how notifyOnDisconnect() could work with IE, too???
thanks a lot
greetings from germany, munich Peter (=PA=)