public ServiceDiscoveryClusterProvider([NotNull] IServiceLocator serviceLocator, [NotNull] string environment, [NotNull] string application, [CanBeNull] ILog log) { this.serviceLocator = serviceLocator ?? throw new ArgumentNullException(nameof(serviceLocator)); this.environment = environment ?? throw new ArgumentNullException(nameof(environment)); this.application = application ?? throw new ArgumentNullException(nameof(application)); this.log = log ?? LogProvider.Get(); transform = new CachingTransform <IServiceTopology, Uri[]>(ParseReplicas); }
/// <summary> /// Creates a new instance of <see cref="ZooKeeperClientSettings"/> using given <paramref name="replicasProvider"/>. /// </summary> public ZooKeeperClientSettings([NotNull] Func <IList <Uri> > replicasProvider) { if (replicasProvider == null) { throw new ArgumentNullException(nameof(replicasProvider)); } var transform = new CachingTransform <IList <Uri>, string>(BuildConnectionString); ConnectionStringProvider = () => transform.Get(replicasProvider()); }
public SnitchWeightModifier( [NotNull] IServiceLocator serviceLocator, [NotNull] string environment, [NotNull] string application, [CanBeNull] ILog log) { this.serviceLocator = serviceLocator ?? throw new ArgumentNullException(nameof(serviceLocator)); this.environment = environment ?? throw new ArgumentNullException(nameof(environment)); this.application = application ?? throw new ArgumentNullException(nameof(application)); this.log = log ?? LogProvider.Get(); transform = new CachingTransform <IServiceTopology, ReplicaWeights>(ExtractWeights); }
public RepeatingClusterProvider(IClusterProvider provider, int repeatCount) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } if (repeatCount <= 0) { throw new ArgumentOutOfRangeException(nameof(repeatCount), "Repeat count must be positive."); } cache = new CachingTransform <IList <Uri>, IList <Uri> >(x => Repeat(x, repeatCount), provider.GetCluster); }
internal FileLog(IMultiFileMuxer muxer, Func <FileLogSettings> settingsProvider) { this.settingsProvider = new SafeSettingsProvider(settingsProvider); this.settingsProvider.Get(); this.muxer = muxer; muxerHandle = new object(); muxerHandleRef = new WeakReference(muxerHandle); muxerRegistrationLock = new object(); eventsLost = new AtomicLong(0); filePathProvider = new CachingTransform <FileLogSettings, FilePath>( settings => new FilePath(settings.FilePath), preventParallelProcessing: false); }
public void TestSetup() { providedValue = "xxx"; processorCalls = 0; transform = new CachingTransform <string, string>( i => { processorCalls++; return(i.ToUpper()); }, () => providedValue, preventParallelProcessing: preventParallelProcessing); }
public IclCache(IIclRulesSettingsProvider iclRulesSettingsProvider) { cache = new CachingTransform <IdempotencySettings, List <IdempotencyControlRule> >(PreprocessSettings, iclRulesSettingsProvider.Get); }
public NonIdempotencySignsCache(INonIdempotencySignsSettingsProvider nonIdempotencySignsSettingsProvider) { cache = new CachingTransform <NonIdempotencySignsSettings, List <NonIdempotencySign> >( PreprocessSigns, nonIdempotencySignsSettingsProvider.Get); }
public TransformingClusterProvider(IClusterProvider provider, IReplicaTransform transform) { this.transform = transform; cache = new CachingTransform <IList <Uri>, IList <Uri> >(ApplyTransform, provider.GetCluster); }