コード例 #1
0
        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);
        }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
 internal abstract void ToNative(PinCollection pinCollection, ref NativeTypes.FABRIC_SCALING_MECHANISM scalingMechanism);
コード例 #5
0
        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);
        }