[Standards] Proposed XMPP Extension: Whitespace Keepalive Negotiation

Justin Karneges justin-keyword-jabber.093179 at affinix.com
Wed Jul 20 00:19:28 UTC 2011


On Tuesday, July 19, 2011 05:02:30 PM Glenn Maynard wrote:
> On Tue, Jul 19, 2011 at 6:31 PM, Yann Leboulanger 
<asterix at lagaule.org>wrote:
> > Whitespace are very small things
> 
> It doesn't matter how small the "things" are, if a single packet causes a
> battery-powered device to wake up WiFi and drain battery for a while before
> it goes back into a power saving state.  Bursting ten packets isn't likely
> to be much more expensive than sending one.
> 
> I'm not sure why the server needs to be involved in this, though.
> Keepalives should be sent from client to server; that's enough to keep the
> TCP connection and, more importantly, any NAT alive.  I don't know why the
> server would also send keepalives to the client--and without that there's
> nothing to negotiate.

Whitespace keepalives serve two purposes:

1) Keep connections from being killed by routers.
2) Inducing TCP cleanup, in the event the peer is gone but you were never 
notified.

If a client leaves the network without disconnecting from the XMPP server, 
then in theory the client session could last forever.  The session will only 
terminate when the server's TCP stack fails while sending data to it, which 
will happen either at the next stanza or with whitespace.

Justin



More information about the Standards mailing list