queueTask method

void queueTask(
  1. CommandTask task
)

Queues the given task.

Starts processing the queue automatically when necessary.

Implementation

void queueTask(CommandTask task) {
  if (_isInIdleMode && task.command.commandText == 'IDLE') {
    logApp('Ignore duplicate IDLE: $task');
    task.completer.complete();

    return;
  }
  final stashedQueue = _stashedQueue;
  if (!isConnected && stashedQueue != null) {
    logApp('Stashing task $task');
    stashedQueue.add(task);

    return;
  }
  _queue.add(task);
  if (_queue.length == 1) {
    _processQueue();
  }
}