dispose method

Future<void> dispose()

Disposes of the client and cleans up resources

Implementation

Future<void> dispose() async {
  if (_disposed) return;

  _disposed = true;
  _log('Disposing WebSocket client');

  _heartbeatManager.dispose();
  _reconnectionManager.dispose();

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

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