stop method

Future<void> stop()

Implementation

Future<void> stop() async {
  final stoppedError = room._closing && room._terminalState != null
      ? room._terminalState!.messageSendError()
      : RoomServerException("Cannot send messages because messaging has been stopped");
  _messageQueueClosed = true;
  _wakeMessageQueue();
  _drainQueuedMessages(error: stoppedError);
  final sendTask = _sendTask;
  if (sendTask != null) {
    await sendTask;
  }
  await Future.wait(_sendOperations);
  await Future.wait(List<MessagingStream>.from(_streams).map((stream) => stream.close()));
  _sendTask = null;
  _desiredEnabled = false;
  _clearCurrentConnectionState();
}