How does the server, after it has responded to the IQ with a type=result 
stanza, communicate errors in processing the query to the client that might 
subsequently occur.   What if the server is unable to send any subsequent 
stanzas associated with the query?  Is the server expected to hold off sending 
the IQ response until it is reasonable assured that no subsequent errors will 
occur?  That is, to the time in which has compiled all the stanzas to sends to 
the client and is ready to put them to XMPP stream?

It seems to me that the IQ response really should come last so that the server 
is able to indicate to the client whether or not is has successfully completed 
the request or failed.   If sent last, then there’s really no need for a 
separate <fin/>.

If the IQ response is not last, there there really needs to be some method for 
the server to indicate that it’s not able to provide further results.

Anyways, I’ve implemented this, and for now we hold back the IQ response until 
we get the data from our internal archives and are otherwise ready to respond 
to the query.   This ensures that if we are generally able to provide an error 
response if any error happens to occur during the processing of the query.

— Kurt

Reply via email to