private IPAddressConsensusEngine(IIPAddressProviderExecutor executor, ITimeoutProvider timeoutProvider, AddressLookupSettingsConfig config, IEnumerable <PublicIPAddressProviderConfig> providers) { this.executor = executor; this.timeoutProvider = timeoutProvider; this.providers = GetSortedProviders(providers, config.RandomizeProviderOrder); minimumAgreeingEncryptedProviderCount = config.MinimumAgreeingEncryptedProviderCount; minimumAgreeingEncryptedProviderPercentage = config.MinimumAgreeingEncryptedProviderPercentage; minimumAgreeingProviderCount = config.MinimumAgreeingProviderCount; minimumAgreeingProviderPercentage = config.MinimumAgreeingProviderPercentage; var numInitialProvidersToQuery = minimumAgreeingProviderCount + 1; ExecuteNextProviders(numInitialProvidersToQuery); }
public static IPAddressConsensusEngine Run(IIPAddressProviderExecutor executor, ITimeoutProvider timeoutProvider, AddressLookupSettingsConfig config, IEnumerable <PublicIPAddressProviderConfig> providers) => new IPAddressConsensusEngine(executor, timeoutProvider, config, providers);