getParamsFromIstMaster method

void getParamsFromIstMaster(
  1. Map<String, dynamic> isMaster
)

Implementation

void getParamsFromIstMaster(Map<String, dynamic> isMaster) {
  if (isMaster.containsKey('maxWireVersion')) {
    maxWireVersion = isMaster['maxWireVersion'] as int;
  }
  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 (isMaster.containsKey(keyMsg)) {
    isShardedCluster = true;
  } else if (isMaster.containsKey(keySetName)) {
    replicaSetName = isMaster[keySetName];
    replicaSetHosts = <String>[...isMaster[keyHosts]];
  } else {
    isStandalone = true;
  }
  if (maxWireVersion >= 13) {
    fcv = '5.0';
  } else if (isMaster.containsKey(keyTopologyVersion)) {
    fcv = '4.4';
  } else if (isMaster.containsKey(keyConnectionId)) {
    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';
  }
}