Nathan Fritz wrote:
I don't see this as being the client's job. Perhaps the protocol could
be changed to either make more assumptions such as "if the s2s
connection is closed unexpectedly, then the server SHOULD consider all
jids connected to it as offline" and perhaps even the suggestion of "If
an available jid has not sent any presence updates in an hour, the
server SHOULD probe for an update." The protocol provides methods to
solve this problem on the server end. I don't believe that the client
should take it upon itself to nag about presence, as presence is high
traffic enough as it is.
The problem boils down to s2s not having specific recommendations on
what to assume about presence, nor what to do when there are
connectivity issues.
Yea id definately agree that this must be solved by the server on the
clients behalf, id say that if s2s connections are not closed cleanly
with the appropriate stream errors then a recovery operation should go
into action where the server will immediately try to re-establish the
s2s connections, if this fails it should assume all the contacts at that
domain are offline, if it suceeds it should probe, but for the probe I
think we do need to create something a bit more efficient than probing
each contact individually. Also if the s2s connection is cleanly closed
the servers should do this probing periodically to check everything is
still ok, although hopefully there will normally be enough traffic
between domains that this doesn't need to happen often.
Richard