RE: [jdev] IQ Semantics RFC 3920 9.2.3 IQ Semantics

2005-10-30 Thread Chris Mullins
Michael Finney Wrote:
 Must the 'id' attribute of an IQ stanza be unique?  I do 
 not see the answer in RFC 3920. 


Section 9.1.3 of Core says:

 It is OPTIONAL for the value of the 'id' attribute 
 to be unique globally, within a domain, or within 
 a stream.

Much to my surprise, section 9.2.3 (IQ Semamtics), did not further
restrict this, and make the 'id' attribute unique on a stream. It only
says that the 'id' attribute is required for IQ packets.

From a practical perspective, the value of the 'id' attribute is
typically unique over a stream. We use GUID's by default which are
globally unique, but most SDK's, Clients, and Servers simply use an
incrementing number. 

Where this typically becomes an issue is on the client side - A client
may send out 5 or 6 (or 100 or 200) IQ requests. As the responses come
back from various clients and servers, the client needs to be able to
match them up with the original sending packet. If the ID attributes
aren't unique, then the matching logic need be very esoteric. 

-- 
Chris Mullins
Coversant, Inc.


RE: [jdev] (no subject)

2005-10-30 Thread Michael Finney
BTW, please forgive the lack of a subject.  My keyboard or Microsoft
operating system went nuts. Not sure which.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Michael Finney
Sent: Sunday, October 30, 2005 3:49 PM
To: 'Jabber software development list'
Subject: [jdev] (no subject)

This might be a strange question but.

What is the worst that could happen if a client does not response to  an
IQ-set sent from the server?

iq type=set id=860-11 to=[EMAIL PROTECTED]query
xmlns=jabber:iq:rosteritem jid=[EMAIL PROTECTED]
subscription=none//query/iq







RE: [jdev] (no subject)

2005-10-30 Thread Chris Mullins
Michael Finney Wrote:
 What is the worst that could happen if a client does 
 not response to  an IQ-set sent from the server?

In practice, there's no real issue with not responding. Most of the
servers are pretty forgiving in this regard, and won't penalize a client
for not responding.

For example, very few clients actually send back iq:result when they
receive a roster push. The RFC says this needs to be sent back, but
speaking as a server developer that frequently tests compatibility
across a wide range of clients, I can say that few do. 

-- 
Chris Mullins