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.

Reply via email to