disconnect method

Future<void> disconnect()

Disconnects from the room, notifying server of disconnection.

Implementation

Future<void> disconnect() async {
  final bool isPendingReconnect = engine.isPendingReconnect;
  if (engine.isClosed && !isPendingReconnect && engine.connectionState == ConnectionState.disconnected) {
    logger.warning('Engine is already closed');
    return;
  }
  await engine.disconnect();
  if (!isPendingReconnect) {
    await _engineListener.waitFor<EngineDisconnectedEvent>(duration: const Duration(seconds: 10));
  }
  await _cleanUp();
}