-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 6/11/09 4:30 PM, Alexey Melnikov wrote:
> HTML version, section 4 reads: >> Note: The value of 'h' starts at zero for the first stanza handled and >> is incremented with each subsequent stanza handled. In the unlikely >> case that the number of stanzas handled during a stream management >> session exceeds the number of digits that can be represented by the >> unsignedInt datatype as specified in XML Schema Part 2 >> <http://www.w3.org/TR/xmlschema-2/> [9 >> <imap://stpe...@mailhost.dizzyd.com:993/fetch%3EUID%3E.INBOX%3E152686?header=quotebody&part=1.1.2&filename=xep-0198.html>] >> (i.e., 232), the value of 'h' shall be reset from 232-1 back to zero >> (rather than being incremented to 232). > I think 232 is 2**32, but it doesn't look this way. What browser do you use? The superscript shows up in Firefox 3 and Safari 4 on my machine, but I have not tested this on all platforms. > In Section 4: >> When an <r/> element ("request") is received, the recipient MUST >> acknowledge it by sending an <a/> element to the sender containing a >> value of 'h' that is equal to the number of stanzas handled by the >> recipient of the <r/> element. The response SHOULD be sent as soon as >> possible after receiving the <r/> element, and MUST NOT be withheld >> for any condition other than a timeout. For example, a client with a >> slow connection might want to collect many stanzas over a period of >> time before acking, and a server might want to throttle incoming stanzas. > Are these example of things that conform to the last SHOULD? Yes... >> The sender does not have to wait for an ack to continue sending >> stanzas. Because acks indicate stanza acceptance, a server that is >> throttling stanzas MUST delay the response until the client is no >> longer being penalized (but SHOULD notify the client that it is >> throttling incoming stanzas, as described under Throttling >> <imap://stpe...@mailhost.dizzyd.com:993/fetch%3EUID%3E.INBOX%3E152686?header=quotebody&part=1.1.3&filename=xep-0198.html>). > > In Section 5: >> Definition: The 'id' attribute defines a unique identifier for >> purposes of stream management (an "SM-ID"). The SM-ID MUST be >> generated by the receiving entity (server). The initiating entity MUST >> consider the SM-ID to be opaque and therefore MUST NOT assign any >> semantic meaning to the SM-ID. The receiving entity MAY encode any >> information it deems useful into the SM-ID, such as the full JID >> <localp...@domain.tld/resource> of a connected client (e.g., the full >> JID plus a nonce value). Any characters allowed in an XML attribute >> are allowed. The SM-ID MUST NOT be reused for simultaneous or >> subsequent sessions (as long as the receiving entity is available). > I am not sure I understand the comment in (). Should it read "as long as > the session is available"? No, in practice it means that as long as the server does not crash the server MUST ensure that SM-IDs are unique, but if it crashes then it doesn't need to keep track of every SM-ID it has ever generated. >> The SM-ID SHOULD NOT be longer than 4000 bytes. > >> When a session is resumed, the parties SHOULD proceed as follows: >> > I suggest removing SHOULD here, as all items below it are already SHOULDs. OK, that's better. >> >> * Both parties SHOULD retransmit any stanzas that were not handled >> during the previous session, based on the sequence number >> reported by the peer. >> > Why is this just a SHOULD? I suppose the client might have returned an error to the user and the user might decide not to retransmit. > In Section 8.1: >> Example 16. Client sends a stanza and requests acknowledgement >> C: <iq id='ls72g593' type='get'> >> <query xmlns='jabber:iq:roster'/> >> </iq> >> >> C: <r xmlns='urn:xmpp:sm:2'/> >> > What should be the "h" value from the server below if "iq" and "r" are > exchanged? >> >> The server immediately sends an <a/> element to acknowledge handling >> of the stanza and then returns the roster. >> >> Example 17. Server acknowledges handling of client stanza and sends a >> stanza >> >> S: <a xmlns='urn:xmpp:sm:2' h='0'/> Oops, that should be h="1" (two stanzas handled by the server). Peter - -- Peter Saint-Andre https://stpeter.im/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkoxjCkACgkQNL8k5A2w/vw6QACeMVU+l4jl00bQW+BoK2GXJZYO tDgAoITRUiRmco3Lk5R+zXHEzfMaOUZi =9muZ -----END PGP SIGNATURE-----