On Tuesday 31 March 2009 08:07:15 Fabio Forno wrote:
> On Tue, Mar 31, 2009 at 4:05 PM, Peter Saint-Andre <stpe...@stpeter.im> 
wrote:
> > I would prefer the sequence number to be a stanza count, but Justin
> > talked me out of it while I was making revisions. However, from the post
> > you've pointed to, he seems to agree, so I'll fix that.
> >
> > As to sending <r/> after the stanza, I'm not quite sure what you
> > propose. Do you think that the server will just send <a/> based on its
> > stanza count (perhaps after every stanza), without forcing the client to
> > request acks?
>
> More or less. The <r/> stanza should be taken out since it is
> impossible to know whether just the <r/>  or both the pair <message/>
> and <r/> didn't get to the server, and it is a redundant information
> if we set the sequence to be stanza count.
> The only doubt I have is whether to make the stanza count implicit or
> explicit with a seq attribute in the stanza (eg. <message sm:u="n"/>).
> The first works if we force to ack each stanza and we don't allow more
> than one unacked stanza out, the second is more general. In the last
> message of the thread I was keen to do without the sequence number,
> but I now realize that that would slow too much the communication from
> the server to the client (i.e.: all the initial presence burst would
> take tens of seconds in a mobile connection, having to wait for all
> the acks)

Of course we don't want to require acks unless they are explicitly requested.  
Let's not veer too far off the path here.  All we're trying to fix is the 
atomicity of 'u'.

Proposed change: Don't send 'u' over the wire anymore.  The value shall be 
derived by the number of stanzas sent, starting from 0 (no stanzas sent yet).

C: <message/>
C: <r/>

S: <a h='1'/>

We'd still have <r> and <a> ack elements.  They'd just only ever contain 'h' 
now.

-Justin

Reply via email to