[standards-jig] JEP-0047 (IBB) Updated
dizzyd at jabber.org
Mon Apr 7 20:30:14 UTC 2003
On Monday, Apr 7, 2003, at 12:04 America/Denver, Peter Millard wrote:
> For the record, I concur with temas' assessment of the various issues
> with this
> 1) Need to find a better method for "stamping" instead of the seq,
My recommendation would be to just drop the "prevseq" attribute and put
a hard limit on the # of packets that may be sent over a single stream.
4 _billion_ packets should be plenty for any streams in this manner.
Arguably, if a stream required more than that number of packets it
shouldn't be done over a non-direct transport like this. Enforcing a
hard limit neatly cleans up the whole problem and doesn't force us to
resort to timestamps -- which I am vehemently against.
> 2) Use <message> elements perhaps with proper expiration headers
> instead of
> using <iq>'s. We get lots of delivery semantics from jabber itself.
> Lets use
> them :) We don't need the overhead of ack'ing every message. (We don't
> need to
> re-invent TCP here).
Agreed. This is a perfect use for the <message> packet. Stream control
can still be done via IQs, if necessary.
The only other outstanding issue that I see (assuming the first two
problems are fixed), is how a stream cleans up in error conditions. For
instance, if a packet is dropped, I'd recommend that we permit the
recipient to just forcibly close the stream -- after all ensuring
guaranteed delivery is HARD, and beyond the scope of this JEP.
I like the gist of this JEP -- some simple modifications will make it
suitable for use and implementation.
More information about the Standards