public StabilizedResourceMeter(IResourceMeter rawResourceMeter, int sampleCount) { ArgumentValidator.ThrowIfNull("rawResourceMeter", rawResourceMeter); ArgumentValidator.ThrowIfInvalidValue <int>("sampleCount", sampleCount, (int count) => count > 1); this.rawResourceMeter = rawResourceMeter; this.rawResourceMeter.Refresh(); ResourceSample initialSample = new ResourceSample(this.rawResourceMeter.ResourceUse.CurrentUseLevel, this.rawResourceMeter.Pressure); this.stabilizer = new ResourceSampleStabilizer(sampleCount, initialSample); this.pressure = this.rawResourceMeter.Pressure; this.resourceUse = new ResourceUse(this.rawResourceMeter.Resource, this.rawResourceMeter.ResourceUse.CurrentUseLevel, this.rawResourceMeter.ResourceUse.PreviousUseLevel); }
private static string GetDebugInfo(IResourceMeter resourceMeter) { ArgumentValidator.ThrowIfNull("resourceMeter", resourceMeter); return("Refresh method for " + resourceMeter.Resource); }
public ResourceTrackingOperation(IResourceMeter resourceMeter, IExecutionInfo executionInfo, int maxTransientExceptions = 5) : base(ResourceTrackingOperation.GetDebugInfo(resourceMeter), ResourceTrackingOperation.GetResourceTrackingAction(resourceMeter), executionInfo, maxTransientExceptions) { this.resourceMeter = resourceMeter; }
private static Action GetResourceTrackingAction(IResourceMeter resourceMeter) { ArgumentValidator.ThrowIfNull("resourceMeter", resourceMeter); return(new Action(resourceMeter.Refresh)); }