twisted / nevow

Web Application Construction Kit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Athena client-side timeout

mithrandi opened this issue · comments

There is currently a server-side timeout (if a transport request has been idle too long, the server will send a no-op message, closing it) but there is no client-side timeout. This means that if the connection has been broken, the client will not notice if / until the browser times the request out. However this will probably take over 5 minutes; in the meantime, the server may have tried to send a response to the client, and the request is closed from the server's point of view, meaning that the transportless timeout is entered. Thus when the client finally reconnects to the server, the server will probably have timed it out; furthermore, the client will not have gotten any server messages for those 5 minutes.

Unfortunately for a client-side timeout to work properly, it should be higher than the server-side timeout plus a little padding; this probably means we should vastly reduce the idle timeout to something like 30 seconds.