disconnect method

Future<void> disconnect()

Disconnect from server

Implementation

Future<void> disconnect() async {
  if (_state == 1) return; // unconnected

  _updateState(4); // disconnected

  // Send disconnect message
  if (_clientId != null) {
    try {
      await _sendMessage({
        'channel': '/meta/disconnect',
        'clientId': _clientId,
      });
    } catch (e) {
      // Ignore disconnect errors
    }
  }

  // Disconnect transport
  await _transport?.disconnect();

  _clientId = null;
  _updateState(1); // unconnected
}