connectionForReadPreference method

Connection? connectionForReadPreference(
  1. ReadPreference readPreference
)

Implementation

Connection? connectionForReadPreference(ReadPreference readPreference) {
  final manager = _connectionManager;
  switch (readPreference.mode) {
    case ReadPreferenceMode.primary:
      return _masterConnectionVerifiedAnyState;
    case ReadPreferenceMode.primaryPreferred:
      return manager?.getMasterConnectionIfAvailable() ??
          manager?.getSecondaryConnection();
    case ReadPreferenceMode.secondary:
      return manager?.getSecondaryConnection();
    case ReadPreferenceMode.secondaryPreferred:
    case ReadPreferenceMode.nearest:
      return manager?.getSecondaryConnection() ??
          manager?.getMasterConnectionIfAvailable();
  }
}