Re: athena evolution path to 3G networks 'not so reliable' connections

[email protected] Tue, 20 Oct 2009 01:25:47 -0000
Newsgroups gmane.comp.python.quotient.dev
Message-ID <20091020012547.11571.1631296239.divmod.xquotient.971@localhost.localdomain>
On 19 Oct, 09:19 am, [email protected] wrote:
>Hi all
>
>Being a long term user of nevow/athena and quite happy with it I have a
>question which comes from the area of more and more clients being 
>mobile
>  and thus not having all to reliable TCP connections on 3G networks.
>For all the stuff athena does it relies on a persistent TCP connection.
>The moment the client is disconnected the whole life situation is gone,
>everything is teared down and starts anew when the client reconnects.

Fortunately Athena doesn't actually rely on a single unbroken persistent 
TCP connection.  It's perfectly capable of handling lost connections.
>Does anybody see an evolution path for athena moving towards being able
>to do reliable delivery and withstanding short (<20 sec) disconnects of
>the persistent connection?

A small change to the way Athena retries failed requests may be 
sufficient to handle this case.  Currently, it will retry 2 or 3 times 
(I forget which) and then give up completely.  There is no delay between 
retries.  It would be a fairly simple change to increase the number of 
retries and/or insert some delay between them.  This could get you to 
the point where 20 seconds of no network connectivity is not sufficient 
to disrupt the connection.

See Nevow/nevow/js/Nevow/Athena/__init__.js, lines 558 - 602 for the 
code in question.

Jean-Paul