> 1. Who has implemented XEP-0138? Please note that the protocol must be
> implemented in at least two separate codebases (and preferably more).

I implemented it in Psi, and reimplemented it from scratch in Swift.
So that's 2 implementations ;-)

> 2. Have developers experienced any problems with the protocol as defined
> in XEP-0138? If so, please describe the problems and, if possible,
> suggested solutions.

The protocol itself is simple enough to not have problems with. I
tested the compression part itself with several server
implementations, and had no problems. Except for Openfire. It used to
work fine up to a certain version, and after that it went wrong. The
stream starts out fine, but after a while gets scrambled, typically
after a burst of stanzas. Smells like a buffer overrun.

Given that the problem occurs in both of my independent
implementations, and that the Swift version is 20 lines of code that i
checked over and over (I even have a unit test to test overruns of the
compression buffer), and that I never have the problem with another
server, and that the problem started suddenly appearing, I tend to
think the problem is with Openfire.

> 3. Is the text of XEP-0138 clear and unambiguous? Are more examples
> necessary? Is the conformance language (MAY/SHOULD/MUST) appropriate?
> Have developers found the text confusing at all? Please describe any
> suggestions you have for improving the text.

I don't recall any confusion over the protocol.

cheers,
Remko

Reply via email to