Ejemplo n.º 1
0
        public DelayInfo GetDelay(ICollection <CostType> consideredCostTypes)
        {
            DelayInfo faultInjectionDelay = this.GetFaultInjectionDelay();

            if (faultInjectionDelay != DelayInfo.NoDelay)
            {
                return(faultInjectionDelay);
            }
            BudgetTypeSetting budgetTypeSetting = BudgetTypeSettings.Get(this.Owner.BudgetType);
            DelayInfo         hardQuotaDelay    = this.GetHardQuotaDelay(consideredCostTypes, budgetTypeSetting);

            if (hardQuotaDelay.Delay == budgetTypeSetting.MaxDelay)
            {
                return(hardQuotaDelay);
            }
            DelayInfo microDelay = this.GetMicroDelay(consideredCostTypes, budgetTypeSetting);

            if (hardQuotaDelay.Delay >= microDelay.Delay)
            {
                ExTraceGlobals.ClientThrottlingTracer.TraceDebug <TimeSpan, TimeSpan>((long)this.GetHashCode(), "[BudgetWrapper.GetDelay] UserQuota delay '{0}' was greater than micro delay '{1}'", hardQuotaDelay.Delay, microDelay.Delay);
                return(hardQuotaDelay);
            }
            ExTraceGlobals.ClientThrottlingTracer.TraceDebug <TimeSpan, TimeSpan>((long)this.GetHashCode(), "[BudgetWrapper.GetDelay] Micro delay '{0}' was greater than user quota delay '{1}'", microDelay.Delay, hardQuotaDelay.Delay);
            return(microDelay);
        }
Ejemplo n.º 2
0
 // Token: 0x06007228 RID: 29224 RVA: 0x0017A125 File Offset: 0x00178325
 public static BudgetTypeSetting Get(BudgetType budgetType)
 {
     if (BudgetTypeSettings.GetSettingsTestHook != null)
     {
         return(BudgetTypeSettings.GetSettingsTestHook(budgetType));
     }
     return(BudgetTypeSettings.budgetTypeSettingsMap[budgetType]);
 }
Ejemplo n.º 3
0
        // Token: 0x06007229 RID: 29225 RVA: 0x0017A148 File Offset: 0x00178348
        internal static BudgetTypeSetting GetDefault(BudgetType budgetType)
        {
            if (BudgetTypeSettings.GetSettingsTestHook != null)
            {
                return(BudgetTypeSettings.GetSettingsTestHook(budgetType));
            }
            BudgetTypeSetting result = null;

            if (BudgetTypeSettings.defaultBudgetTypeSettingsMap.TryGetValue(budgetType, out result))
            {
                return(result);
            }
            return(BudgetTypeSetting.OneMinuteSetting);
        }
Ejemplo n.º 4
0
 // Token: 0x0600722E RID: 29230 RVA: 0x0017A220 File Offset: 0x00178420
 private static void LoadAppConfigSettings()
 {
     BudgetTypeSettings.budgetTypeSettingsMap = new Dictionary <BudgetType, BudgetTypeSetting>();
     foreach (object obj in Enum.GetValues(typeof(BudgetType)))
     {
         BudgetType               budgetType               = (BudgetType)obj;
         string                   name                     = BudgetTypeSettings.BuildMicroDelayMultiplierKey(budgetType);
         string                   name2                    = BudgetTypeSettings.BuildMaxDelayKey(budgetType);
         string                   name3                    = BudgetTypeSettings.BuildMaxDelayedThreadsKey(budgetType);
         BudgetTypeSetting        @default                 = BudgetTypeSettings.GetDefault(budgetType);
         IntAppSettingsEntry      intAppSettingsEntry      = new IntAppSettingsEntry(name, @default.MaxMicroDelayMultiplier, ExTraceGlobals.BudgetDelayTracer);
         TimeSpanAppSettingsEntry timeSpanAppSettingsEntry = new TimeSpanAppSettingsEntry(name2, TimeSpanUnit.Seconds, @default.MaxDelay, ExTraceGlobals.BudgetDelayTracer);
         IntAppSettingsEntry      intAppSettingsEntry2     = new IntAppSettingsEntry(name3, @default.MaxDelayedThreadPerProcessor, ExTraceGlobals.BudgetDelayTracer);
         BudgetTypeSetting        value                    = new BudgetTypeSetting(timeSpanAppSettingsEntry.Value, intAppSettingsEntry.Value, intAppSettingsEntry2.Value);
         BudgetTypeSettings.budgetTypeSettingsMap[budgetType] = value;
     }
 }
Ejemplo n.º 5
0
 // Token: 0x06007227 RID: 29223 RVA: 0x0017A119 File Offset: 0x00178319
 internal static void Initialize()
 {
     BudgetTypeSettings.CreateDefaultBudgetTypeSettingsMap();
     BudgetTypeSettings.LoadAppConfigSettings();
 }
Ejemplo n.º 6
0
 // Token: 0x06007226 RID: 29222 RVA: 0x0017A10C File Offset: 0x0017830C
 static BudgetTypeSettings()
 {
     BudgetTypeSettings.Initialize();
 }