Exemplo n.º 1
0
        /// <summary>
        /// Initializes configuration's <see cref="IClusterClientConfiguration.ReplicaOrdering"/> with a <see cref="WeighedReplicaOrdering"/> built with a given delegate acting on a <see cref="IWeighedReplicaOrderingBuilder"/> instance.
        /// </summary>
        public static void SetupWeighedReplicaOrdering(this IClusterClientConfiguration configuration, Action <IWeighedReplicaOrderingBuilder> build)
        {
            var builder = new WeighedReplicaOrderingBuilder(configuration.TargetEnvironment, configuration.TargetServiceName, configuration.Log);

            build(builder);
            configuration.ReplicaOrdering = builder.Build();
        }
        /// <returns>The default value of <see cref="IClusterClientConfiguration.ReplicaOrdering"/>.</returns>
        public static IReplicaOrdering ReplicaOrdering(ILog log)
        {
            var builder = new WeighedReplicaOrderingBuilder(log);

            builder.AddAdaptiveHealthModifierWithLinearDecay(AdaptiveHealthDamageDecayDuration);

            return(builder.Build());
        }