getParamsFromHello method

void getParamsFromHello(
  1. HelloResult result
)

Implementation

void getParamsFromHello(HelloResult result) {
  minWireVersion = result.minWireVersion;

  maxWireVersion = result.maxWireVersion;

  if (maxWireVersion >= 1) {
    aggregationCursor = true;
    authCommands = true;
  }
  if (maxWireVersion >= 2) {
    writeCommands = true;
  }
  if (maxWireVersion >= 3) {
    listCollections = true;
    listIndexes = true;
  }
  if (maxWireVersion >= 6) {
    supportsOpMsg = true;
  }
  if (filled(result.msg)) {
    isShardedCluster = true;
  } else if (filled(result.setName)) {
    replicaSetName = result.setName;
    replicaSetHosts = <String>[...?result.hosts];
  } else {
    isStandalone = true;
  }

  if (maxWireVersion >= 17) {
    fcv = '6.0';
  } else if (maxWireVersion >= 13) {
    fcv = '5.0';
  } else if (maxWireVersion >= 9) {
    fcv = '4.4';
  } else if (maxWireVersion >= 8) {
    fcv = '4.2';
  } else if (maxWireVersion > 6) {
    // approximated
    fcv = '4.0';
  } else if (maxWireVersion > 5) {
    fcv = '3.6';
  } else if (maxWireVersion > 4) {
    fcv = '3.4';
  } else {
    fcv = '3.2';
  }
}