On Tue, Jun 16, 2009 at 10:47 PM, Peter Saint-Andre<stpe...@stpeter.im> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Someone just poked me offlist about reliable messaging in XMPP. I
> replied as follows. Perhaps it makes sense to write this up a bit more
> formally?

Definitely!

> 2. What if your client went offline but your server hasn't figured that
> out yet? Your server can use whitespace pings over the XML stream to
> figure out if you're online or offline:
>
> http://tools.ietf.org/html/draft-ietf-xmpp-3920bis-00#section-5.7.3

This is not a ping mechanism, but a keepalive mechanism: a ping is a
request-response back-and-forth communication.

This is why we should change the bis spec from WHITESPACE PING to
WHITESPACE KEEPALIVE.

In this section we say that whitespace is a space character, which is
inconsistent with section 1.3. Conventions, which says:
   The term "whitespace" is used to refer to any character that matches
   production [3] content of [XML], i.e., any instance of SP, HT, CR,
   and LF.
http://tools.ietf.org/html/draft-ietf-xmpp-3920bis-00#section-1.3

Besides we mention that an entity can send whitespace keepalive, but
we don't recommend how to handle them on the receiving entity.

We could consider that the absence of reception of regular whitespace
keepalive means you have lost the stream, but it's contrary on the
above recommandations that say we should maintain the stream.

In order to be strict, we could write a specific mechanism that says
how to send and handle received keepalives, but it will be
resource-consuming...

Regards.
-- 
Nicolas Vérité - ProcessOne
http://process-one.net
Mobile: +33 6 20 88 63 04

Reply via email to