[Standards-JIG] Re: proto-JEP: Stream Acking

Justin Karneges justin-keyword-jabber.093179 at affinix.com
Fri Oct 29 05:22:50 UTC 2004


On Thursday 28 October 2004 09:09 pm, Nolan Eakins wrote:
> Well, if the prefix must be included in the <stream> it would be possible
> to completely forgo feature negotiation. The client (or server for s2s)
> would specify the prefix for JEP-Ack's namespace. The server would notice
> it, and send back a <stream> w/ the prefix specified too. Both parties
> would know that they're going to be acking from the start. The initiating
> party would only send acks if and only if the receiving party specified a
> prefix for JEP-Ack.

I don't think we should have mandatory namespace prefixes.  Implementations 
can use them if they want.

> The second is the process flow for determining why an ack wasn't sent back.
> A reason for the second one is what do you do if an ack is not received,
> send again, wait, or ping? This is presumably why pinging is included, but
> the use of pings is not explicit in the proto-JEP. That would also explain
> why pings get responded to even if the server is refusing to accept
> anything from the sender due to karma or what not.

Without pings, the only way to test for a dead connection would be to use a 
real stanza.  Pings are there to make this test simpler and more optimized.  
Pinging is not directly related to stanza acking, and I suspect clients will 
ping at regular intervals, regardless of whether or not there are pending 
stanzas.

The reason why a server should always respond to pings immediately is so that 
a client doesn't consider a penalized connection to be a dead connection.  
However, I later realized that this is completely dependent on how the server 
implementation works.  For example, a server might just stop reading from the 
TCP socket during the penalty period, which eliminates the ability to use 
pings.  My only answer to this is that a server can't implement penalties 
this way if it wants to support JEP-Ack simlutaneously.

> That, or something more accurate, should probably be noted some where in
> the JEP. Most likely in the implementation notes.

Yes, perhaps these intents should be listed.

-Justin



More information about the Standards mailing list