internal PartitionInstanceCountScaleMechanism(PartitionInstanceCountScaleMechanism other) : base(ScalingMechanismKind.ScalePartitionInstanceCount) { MinInstanceCount = other.MinInstanceCount; MaxInstanceCount = other.MaxInstanceCount; ScaleIncrement = other.ScaleIncrement; }
internal static unsafe ScalingMechanismDescription CreateFromNative(NativeTypes.FABRIC_SCALING_MECHANISM mechanism) { if (mechanism.ScalingMechanismKind == NativeTypes.FABRIC_SCALING_MECHANISM_KIND.FABRIC_SCALING_MECHANISM_KIND_SCALE_PARTITION_INSTANCE_COUNT) { return(PartitionInstanceCountScaleMechanism.CreateFromNative(mechanism)); } else if (mechanism.ScalingMechanismKind == NativeTypes.FABRIC_SCALING_MECHANISM_KIND.FABRIC_SCALING_MECHANISM_KIND_ADD_REMOVE_INCREMENTAL_NAMED_PARTITION) { return(AddRemoveIncrementalNamedPartitionScalingMechanism.CreateFromNative(mechanism)); } else { return(null); } }
internal new static unsafe PartitionInstanceCountScaleMechanism CreateFromNative(NativeTypes.FABRIC_SCALING_MECHANISM policy) { if (policy.ScalingMechanismDescription != IntPtr.Zero) { var partitionInstanceCount = new PartitionInstanceCountScaleMechanism(); var nativeDescription = (NativeTypes.FABRIC_SCALING_MECHANISM_PARTITION_INSTANCE_COUNT *)policy.ScalingMechanismDescription; partitionInstanceCount.ScaleIncrement = nativeDescription->ScaleIncrement; partitionInstanceCount.MinInstanceCount = nativeDescription->MinimumInstanceCount; partitionInstanceCount.MaxInstanceCount = nativeDescription->MaximumInstanceCount; return(partitionInstanceCount); } return(null); }