internal AveragePartitionLoadScalingTrigger(AveragePartitionLoadScalingTrigger other) : base(ScalingTriggerKind.AveragePartitionLoadTrigger) { MetricName = other.MetricName; LowerLoadThreshold = other.LowerLoadThreshold; UpperLoadThreshold = other.UpperLoadThreshold; ScaleInterval = other.ScaleInterval; }
internal static unsafe ScalingTriggerDescription CreateFromNative(NativeTypes.FABRIC_SCALING_TRIGGER trigger) { if (trigger.ScalingTriggerKind == NativeTypes.FABRIC_SCALING_TRIGGER_KIND.FABRIC_SCALING_TRIGGER_KIND_AVERAGE_PARTITION_LOAD) { return(AveragePartitionLoadScalingTrigger.CreateFromNative(trigger)); } else if (trigger.ScalingTriggerKind == NativeTypes.FABRIC_SCALING_TRIGGER_KIND.FABRIC_SCALING_TRIGGER_KIND_AVERAGE_SERVICE_LOAD) { return(AverageServiceLoadScalingTrigger.CreateFromNative(trigger)); } else { return(null); } }
internal new static unsafe AveragePartitionLoadScalingTrigger CreateFromNative(NativeTypes.FABRIC_SCALING_TRIGGER policy) { if (policy.ScalingTriggerDescription != IntPtr.Zero) { var partitionAverageLoad = new AveragePartitionLoadScalingTrigger(); var nativeDescription = (NativeTypes.FABRIC_SCALING_TRIGGER_AVERAGE_PARTITION_LOAD *)policy.ScalingTriggerDescription; partitionAverageLoad.MetricName = NativeTypes.FromNativeString(nativeDescription->MetricName); partitionAverageLoad.UpperLoadThreshold = nativeDescription->UpperLoadThreshold; partitionAverageLoad.LowerLoadThreshold = nativeDescription->LowerLoadThreshold; partitionAverageLoad.ScaleIntervalInSeconds = (int)nativeDescription->ScaleIntervalInSeconds; return(partitionAverageLoad); } return(null); }