executeModernMessage method

Future<MongoModernMessage> executeModernMessage(
  1. MongoModernMessage modernMessage
)

Implementation

Future<MongoModernMessage> executeModernMessage(
    MongoModernMessage modernMessage) {
  var completer = Completer<MongoModernMessage>();
  if (_closed) {
    completer.completeError(const ConnectionException(
        'Invalid state: Connection already closed.'));
  } else {
    if (serverConfig.safeAtlas == true && _pendingQueries.isNotEmpty) {
      _delayedQueries.addAll({modernMessage.requestId: modernMessage});
      _delayedCompleters.addAll({modernMessage.requestId: completer});
    } else {
      _executeMessage(completer, modernMessage);
      /*
    if (!_closed) {
      _replyCompleters[modernMessage.requestId] = completer;
      _pendingQueries.add(modernMessage.requestId);
      _log.fine(() => 'Message $modernMessage');
      _sendQueue.addLast(modernMessage);
      _sendBuffer();
    } else {
      completer.completeError(const ConnectionException(
          'Invalid state: Connection already closed.'));
    }*/
    }
  }

  return completer.future;
}