tokio-xmpp simple/reconnecting client API
tokio-xmpp takes care of connection handling. I've started to split up the Client implementation as follows:
- A simple
OneshotClient
succeeds only when successfully connected and authenticated. Sending stanzas interacts directly with the underlying (TLS/TCP) streams. - A
ReconnectingClient
that takes care of handling connection state, presenting it as a Online/Disconnected events in the stream. Users don't have to track this state for any action, so it would be nice that this client buffers and resends stanzas in the event of a reconnect with session management (XEP-0198) support.
Their API is going to be quite similar. I'm still looking for a simpler, more obvious naming scheme than OneshotClient/ReconnectingClient.
Edited by Astro