We need a JabberProtocol reimplementation or wrapper or component that:
Will grant us throttling on sending every packet to the server (including reconnection attempts and room joins; see #407).
Will not fall apart on problems with room joining; see #377 and #358.
Will provide an exception-safe connection; see #313 and #383.
Will provide an ability to adapt to threading model of the underlying library (I suspect that Smack needs to be used in a single-threaded apartment); remember that we'll want to replace Smack in scope of #410.
Will somewhat abstract the protocol interface, see #309.
We need a
JabberProtocol
reimplementation or wrapper or component that: