dispose method

  1. @override
void dispose()
override

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());
}