dispose method

Future<void> dispose()

Implementation

Future<void> dispose() async {
  if (_disposed) return;
  _disposed = true;
  _log('Disposing WebSocket client');

  _heartbeatManager.dispose();
  _reconnectionManager.dispose();
  _ackManager?.dispose();
  await _channelManager.dispose();

  await _stateSubscription?.cancel();
  await _messageSubscription?.cancel();
  await _errorSubscription?.cancel();

  await _adapter.dispose();
  await _logController.close();
  await _statsController.close();
}