From 4f739c29ee83eb0f4800e4930e2d575aefe02648 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Tue, 11 Aug 2015 18:08:05 +0200 Subject: [PATCH] Explain how CSI is affected by in order processing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clarify how the in order processing requirement (RFC 6120 ยง 10.1) affects CSI. --- xep-0352.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/xep-0352.xml b/xep-0352.xml index 4ddab8af..884ae92b 100644 --- a/xep-0352.xml +++ b/xep-0352.xml @@ -123,6 +123,28 @@

This protocol is intended primarily for clients with human interaction. Due to the open-ended nature of the possible optimisations implemented by the server, it may not be suitable for non-IM purposes where the fully standard behaviour of XMPP is required.

+ +

+ XMPP requires stanzas to be processed in order as per &rfc6120; 10.1. Especially "If the server's processing of a particular request could have an effect on its processing of subsequent data it might receive over that input stream..., it MUST suspend processing of subsequent data until it has processed the request.". As a result, all actions triggered by a CSI nonza sent to the server must happen before processing further requests from the same client to the server. +

+

+ For example: A client sends a CSI active nonza, followed by an XMPP Ping request to the server. The server first changes the CSI state to active and flushes all eventually queued stanzsa. After the state has been restored to 'active' and +all resulting stanzas have been put on the wire, the +server sends the pong. +

+ + + + + + + + +]]> +

To protect the privacy of users, servers MUST NOT reveal the clients active/inactive state to other