dispose method
Dispose the client
Implementation
@override
void dispose() {
unawaited(disconnect());
for (final plugin in plugins) {
plugin.dispose();
}
closeClientStreams();
unawaited(_messageController.close());
// Not awaited: `dispose` is synchronous, and the flag inside is set before
// the first await, so nothing more reaches this client either way.
unawaited(_syncManager.dispose());
}