Exemple #1
0
        internal static unsafe StopNodeDescription2 CreateFromNative(IntPtr nativeRaw)
        {
            NativeTypes.FABRIC_STOP_NODE_DESCRIPTION2 native = *(NativeTypes.FABRIC_STOP_NODE_DESCRIPTION2 *)nativeRaw;
            StopNodeDescriptionUsingNodeName          stopNodeDescriptionUsingNodeName = StopNodeDescriptionUsingNodeName.CreateFromNative(native.Value);

            return(new StopNodeDescription2(StopNodeDescriptionKind.UsingNodeName, stopNodeDescriptionUsingNodeName));
        }
Exemple #2
0
        internal IntPtr ToNative(PinCollection pinCollection)
        {
            var nativeStopNodeDescription2 = new NativeTypes.FABRIC_STOP_NODE_DESCRIPTION2();

            switch (this.DescriptionKind)
            {
            case StopNodeDescriptionKind.UsingNodeName:
                nativeStopNodeDescription2.Kind  = NativeTypes.FABRIC_STOP_NODE_DESCRIPTION_KIND.FABRIC_STOP_NODE_DESCRIPTION_KIND_USING_NODE_NAME;
                nativeStopNodeDescription2.Value =
                    ((StopNodeDescriptionUsingNodeName)this.Value).ToNative(pinCollection);
                break;

            case StopNodeDescriptionKind.UsingReplicaSelector:
                nativeStopNodeDescription2.Kind = NativeTypes.FABRIC_STOP_NODE_DESCRIPTION_KIND.FABRIC_STOP_NODE_DESCRIPTION_KIND_USING_REPLICA_SELECTOR;
                // not implemented now
                nativeStopNodeDescription2.Value = IntPtr.Zero;
                break;

            default:
                nativeStopNodeDescription2.Kind  = NativeTypes.FABRIC_STOP_NODE_DESCRIPTION_KIND.FABRIC_STOP_NODE_DESCRIPTION_KIND_INVALID;
                nativeStopNodeDescription2.Value = IntPtr.Zero;
                break;
            }

            return(pinCollection.AddBlittable(nativeStopNodeDescription2));
        }