public static IHystrixCollapserProperties GetCollapserProperties(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
        {
            if (collapserKey == null)
            {
                throw new ArgumentNullException("collapserKey");
            }

            IHystrixPropertiesStrategy strategy = HystrixPlugins.Instance.PropertiesStrategy;
            string cacheKey = strategy.GetCollapserPropertiesCacheKey(collapserKey, setter);

            if (String.IsNullOrEmpty(cacheKey))
            {
                return(strategy.GetCollapserProperties(collapserKey, setter));
            }
            else
            {
                return(collapserProperties.GetOrAdd(cacheKey, w =>
                {
                    if (setter == null)
                    {
                        setter = new HystrixCollapserPropertiesSetter();
                    }

                    return strategy.GetCollapserProperties(collapserKey, setter);
                }));
            }
        }
        public static IHystrixCollapserProperties GetCollapserProperties(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
        {
            if (collapserKey == null)
                throw new ArgumentNullException("collapserKey");

            IHystrixPropertiesStrategy strategy = HystrixPlugins.Instance.PropertiesStrategy;
            string cacheKey = strategy.GetCollapserPropertiesCacheKey(collapserKey, setter);
            if (String.IsNullOrEmpty(cacheKey))
            {
                return strategy.GetCollapserProperties(collapserKey, setter);
            }
            else
            {
                return collapserProperties.GetOrAdd(cacheKey, w =>
                {
                    if (setter == null)
                    {
                        setter = new HystrixCollapserPropertiesSetter();
                    }

                    return strategy.GetCollapserProperties(collapserKey, setter);
                });
            }
        }
 public virtual string GetCollapserPropertiesCacheKey(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
 {
     return collapserKey.Name;
 }
 public virtual IHystrixCollapserProperties GetCollapserProperties(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
 {
     return new HystrixPropertiesCollapserDefault(setter);
 }
 public string GetCollapserPropertiesCacheKey(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
 {
     return(null);
 }
 public IHystrixCollapserProperties GetCollapserProperties(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
 {
     throw new InvalidOperationException();
 }
 public HystrixCollapserSetter AndCollapserPropertiesDefaults(HystrixCollapserPropertiesSetter propertiesSetter)
 {
     PropertiesSetter = propertiesSetter;
     return this;
 }
Beispiel #8
0
 public HystrixPropertiesCollapserDefault(HystrixCollapserPropertiesSetter setter)
 {
     RequestCachingEnabled = HystrixPropertyFactory.AsProperty(setter.RequestCacheEnabled, DefaultRequestCacheEnabled);
     MaxRequestsInBatch    = HystrixPropertyFactory.AsProperty(setter.MaxRequestsInBatch, DefaultMaxRequestsInBatch);
     TimerDelay            = HystrixPropertyFactory.AsProperty(setter.TimerDelay, DefaultTimerDelay);
 }
Beispiel #9
0
 public HystrixCollapserSetter AndCollapserPropertiesDefaults(HystrixCollapserPropertiesSetter propertiesSetter)
 {
     PropertiesSetter = propertiesSetter;
     return(this);
 }
Beispiel #10
0
 public virtual string GetCollapserPropertiesCacheKey(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
 {
     return(collapserKey.Name);
 }
Beispiel #11
0
 public virtual IHystrixCollapserProperties GetCollapserProperties(IHystrixCollapserKey collapserKey, HystrixCollapserPropertiesSetter setter)
 {
     return(new HystrixPropertiesCollapserDefault(setter));
 }
 public HystrixPropertiesCollapserDefault(HystrixCollapserPropertiesSetter setter)
 {
     RequestCachingEnabled = HystrixPropertyFactory.AsProperty(setter.RequestCacheEnabled, DefaultRequestCacheEnabled);
     MaxRequestsInBatch = HystrixPropertyFactory.AsProperty(setter.MaxRequestsInBatch, DefaultMaxRequestsInBatch);
     TimerDelay = HystrixPropertyFactory.AsProperty(setter.TimerDelay, DefaultTimerDelay);
 }