On Fri Jun 11 15:50:19 2010, Matthew Wild wrote:
On 7 June 2010 18:16, Matthew Wild <[email protected]> wrote:
> Having recently implemented an initial version of XEP-0198
> acknowledgements support for Prosody, I have some feedback:
>
Now on the resumption part... why:
"
The 'id' attribute defines a unique identifier for purposes of
stream
management (an "SM-ID"). [...] The SM-ID MUST NOT be reused for
simultaneous or subsequent sessions (but the server need not ensure
that SM-IDs are unique for all time, only for as long as the server
is
continuously running).
"
Assuming the server correctly cleans up closed sessions and discards
the used ids, I don't see the harm in re-using old ids. I don't even
see a need for the id to be unique across the whole server,
considering each client goes through TLS and SASL before it is
allowed
to use it.
I can see it being horrible to diagnose if a client resumes the wrong
session. Although this would be an edge case, I don't see that unique
ids are very hard at all. So I'm most at ease mandating unique ids
here.
If there is a reason to not re-use old ids, I'm not sure losing
uniqueness on server restart is a good thing - the client has no way
to know when that happens.
I'd be okay with a SHOULD rather than MUST here. If a server restarts
on the same hardware, somehow gaining the same process id, and the
clock also rolls back at the time, then you'd be forgiven for reusing
an id.
Dave.
--
Dave Cridland - mailto:[email protected] - xmpp:[email protected]
- acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
- http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade