[Standards-JIG] Closing idle streams
Carlo v. Loesch
CvL at mail.symlynX.com
Thu Jun 1 18:59:22 UTC 2006
Peter Saint-Andre typeth:
| It seems more helpful to inform the other side why the stream is being
| closed by sending a stream error, rather than sending </stream:stream>
| and leaving the other side to wonder why the stream was closed. If that
| is true, then it may make sense to relax the rule in 4.7.1 by decoupling
| closing of the XML stream from termination of the TCP connection (i.e.,
| I wonder if the text really needs to say "MUST close the XML stream and
| SHOULD terminate the TCP connection"). Naturally we would need to think
| carefully about the consequences of any such change.
When looking through 4 or 5 server source codes looking for situations
where they issue this error, I noticed several of them make a very
intelligent use of it by producing the error only when they were
expecting something from the other side, like the continuation of a
dialback or SASL negotiation.
Closing an idle stream instead is one of the most normal things to
happen in an S2S situation, so I find it very logical to simply just
handshake-close the stream. Why should you need to explain something
to the other side, idleness is the only reason why somebody would do
that - especially if recommended in a BP.
More information about the Standards