On Tue, Oct 29, 2013 at 4:47 PM, Spencer MacDonald < [email protected]> wrote:
> > > I think a simple buffer protocol would do, with a way of clients >> > specifying what type of packets (like SIFT) which would cause a >> > server flush... but due to the limitations on iOS that would >> > probably only be Jingle. >> >> Is there something in SIFT that doesn't meet the requirements? For >> instance, does it need to say that filtered / intercepted stanzas are >> indeed buffered? > > > Thats correct, compared to SIFT I want: > > - All stanzas to be buffered by the server > - On receiving an "allowed" element the server should flush its buffer > upto and including that stanza, opposed to just letting that stanza through. > > What worries me about SIFT is that it's too complex, and too open ended. By too complex, I mean both that it relies on XPath processing by the server, and also it relies on complex rule creation by the client. We can remove the former by simply matching the immediate child elements of a stanza against namespace and element local name, which at least reduces it to one or two string compares, but I still think it'll require a lot of work by client developers to use it effectively. In any case, file transfers will end up being treated like voice calls by their nature. By contrast, XEP-0334 does the work elsewhere. I've an odd suspicion that most hints will be added by a server, actually. The difficulty here is that we can hint message and presence stanzas, though the latter isn't in XEP-0334, but we have no similar solution for hinting IQ stanzas. Disco (and caps) tend to work effectively for suppressing entirely unwanted IQ traffic, but for hinting that buffering is acceptable, we'd need some other mechanism. Of course, for Jingle, this could be a nice byproduct of using message stanzas for the session-initiate. Dave.
