internal override void ToNative(PinCollection pinCollection, ref NativeTypes.FABRIC_SCALING_MECHANISM scalingMechanism) { scalingMechanism.ScalingMechanismKind = NativeTypes.FABRIC_SCALING_MECHANISM_KIND.FABRIC_SCALING_MECHANISM_KIND_SCALE_PARTITION_INSTANCE_COUNT; var partitionInstanceCount = new NativeTypes.FABRIC_SCALING_MECHANISM_PARTITION_INSTANCE_COUNT(); partitionInstanceCount.MinimumInstanceCount = MinInstanceCount; partitionInstanceCount.MaximumInstanceCount = MaxInstanceCount; partitionInstanceCount.ScaleIncrement = ScaleIncrement; scalingMechanism.ScalingMechanismDescription = pinCollection.AddBlittable(partitionInstanceCount); }
internal override void ToNative(PinCollection pinCollection, ref NativeTypes.FABRIC_SCALING_MECHANISM scalingMechanism) { scalingMechanism.ScalingMechanismKind = NativeTypes.FABRIC_SCALING_MECHANISM_KIND.FABRIC_SCALING_MECHANISM_KIND_ADD_REMOVE_INCREMENTAL_NAMED_PARTITION; var AddRemoveIncrementalNamedPartition = new NativeTypes.FABRIC_SCALING_MECHANISM_ADD_REMOVE_INCREMENTAL_NAMED_PARTITION(); AddRemoveIncrementalNamedPartition.MinimumPartitionCount = MinPartitionCount; AddRemoveIncrementalNamedPartition.MaximumPartitionCount = MaxPartitionCount; AddRemoveIncrementalNamedPartition.ScaleIncrement = ScaleIncrement; scalingMechanism.ScalingMechanismDescription = pinCollection.AddBlittable(AddRemoveIncrementalNamedPartition); }
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 abstract void ToNative(PinCollection pinCollection, ref NativeTypes.FABRIC_SCALING_MECHANISM scalingMechanism);
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); }
internal new static unsafe AddRemoveIncrementalNamedPartitionScalingMechanism CreateFromNative(NativeTypes.FABRIC_SCALING_MECHANISM policy) { if (policy.ScalingMechanismDescription != IntPtr.Zero) { var AddRemoveIncrementalNamedPartition = new AddRemoveIncrementalNamedPartitionScalingMechanism(); var nativeDescription = (NativeTypes.FABRIC_SCALING_MECHANISM_ADD_REMOVE_INCREMENTAL_NAMED_PARTITION *)policy.ScalingMechanismDescription; AddRemoveIncrementalNamedPartition.ScaleIncrement = nativeDescription->ScaleIncrement; AddRemoveIncrementalNamedPartition.MinPartitionCount = nativeDescription->MinimumPartitionCount; AddRemoveIncrementalNamedPartition.MaxPartitionCount = nativeDescription->MaximumPartitionCount; return(AddRemoveIncrementalNamedPartition); } return(null); }