Hi.

Please ignore this message. I hadn't read the latest version of the XEP, and the "MAY be a unique identifer that is opaque to the client but understood by the server" covers most if not all of my argument below. :)

Best regards,

On Mar 6, 2008, at 10:23 PM, Pedro Melo wrote:
Hi,

On Mar 6, 2008, at 4:27 AM, Peter Saint-Andre wrote:
I'm not convinced that that's the intent. It seems that it might be
useful in some situations for the client to know where it stands.

If we are going to have semantic meaning the in the version then the spec must reflect what the meaning is.

I agree that servers will use a counter or sequence per roster for this, because its efficient and they can easily see what needs to be sent to the client. What I don't get is why we should force that in the spec, given that the client never uses the version semantically, he only sends it back to the server.

I think the version should be specifiec as a opaque string, and in the implementation notes recommend strongly the use of a counter for the reasons Dave Cridland gave.

I'll let Dave Cridland explain why he thinks this is not
overspecification. I think his experience with IETF email and data
storage protocols is relevant here. In particular, during the Council
meeting [1] he said:

"It's a lot more efficient with an int, and everything else is either
worse performance, fails entirely, or else is equivalent difficulty to
an int."

he is right but thats a server issue, Clients don't care, they store it and send it back later.

So at most this is relevant as implementation notes for servers. Again: I think most of us agree that servers will use an integer counter because its the most efficient way to implement the entire XEP.

What I don't see is the need to tell that in the spec, therefore limiting us for the future.

"One interesting point is that with an int, there's always something a
client can use to get the entire roster, with versioning turned on."

Sending a 0? what about sending an empty version attribute? Same thing.

"I'm not quite sure what the client ought to send if everything's
completely opaque - it'd need more syntax."

Empty?

"Put it this way, since the counter-proposal involved timestamps, which
are known to be broken, I'm pretty sure people will get stuff wrong
without it being a MUST."

Others might counter-propose something meaningful but some are proposing something opaque, without meaning for the client. And that is the best way for clients not to mess up.

Server authors have to get it right based on their architecture of their server, and that is something that I don't think specs should meddle with.


And previously on the list he said [2]:

"strictly increasing numeric sequences have proved useful in the IMAP
world, because clients can spot when things go wrong much more easily."

Agreed. Hence a recommendation on implementation notes to use a counter with those properties.

Best regtards,
--
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: [EMAIL PROTECTED]
Use XMPP!



--
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: [EMAIL PROTECTED]
Use XMPP!


Reply via email to