[Standards-JIG] Re: Council decision on "Stanza Acking" proposal
justin-keyword-jabber.093179 at affinix.com
Tue Mar 29 20:02:46 UTC 2005
On Monday 28 March 2005 04:42 am, Matthias Wimmer wrote:
> What I am missing are time limites ...
I'd say any large number would suffice. 5 minutes maybe? Something large
enough that it would be unreasonable to not have responded by then.
> maybe not fixed ones but it could
> be negotiated ... if the client is allowed to defer acking a stanza for
> as long as it wants ... does the server have to cache all stanzas sent
> to the client while the client decides not to answer? I think the server
> has to be able to limit the time a client is allowed to not acking a
> stanza and if it does not get back an ACK within this interval, it
> should be allowed to consider the connection broken and drop the
I didn't intend for connections to be dropped if they didn't ack in time. Say
that there is a lot of network lag and a large stack of stanza build-up. I
suggest resetting your "drop" timeout whenever there is network activity at
all from the client, not whether or not a stanza has been ack'd. Drop the
client if there is 5 minutes of no network activity.
> Same for the ping ... it is said that the client must send the pong
> immediatelly. How many seconds is immediatelly? After which amout of
> time should the server consider the connection to be broken?
Again, 5 minutes. And again, only with lack of network activity. If the
client is blasting you a large amount of stanzas, and then you ping it, keep
in mind that the pong might come a bit later. As long as there is network
activity from the client, you shouldn't drop it.
> Sure this should not be a fixed amount of time as different deployments
> might need different times, but I think there should be advices for
> normal cases and the server should be able to specify limits at least
> for the first case.
5 minutes, 10 minutes, 20 minutes, etc. We didn't have much control over the
TCP timeout, but we accept that it is probably reasonably large. Pick
something reasonably large for your server, and all will be well.
More information about the Standards