コード例 #1
0
        internal static bool AreEqual(ClusterHealthPolicy current, ClusterHealthPolicy other)
        {
            if ((current != null) && (other != null))
            {
                bool equals = (current.ConsiderWarningAsError == other.ConsiderWarningAsError) &&
                              (current.MaxPercentUnhealthyNodes == other.MaxPercentUnhealthyNodes) &&
                              (current.MaxPercentUnhealthyApplications == other.MaxPercentUnhealthyApplications);
                if (!equals)
                {
                    return(false);
                }

                equals = ApplicationTypeHealthPolicyMap.AreEqual(current.ApplicationTypeHealthPolicyMap, other.ApplicationTypeHealthPolicyMap);
                if (!equals)
                {
                    return(false);
                }

                return(true);
            }
            else
            {
                return((current == null) && (other == null));
            }
        }
コード例 #2
0
        internal static unsafe ClusterHealthPolicy FromNative(IntPtr nativeClusterHealthPolicyPtr)
        {
            var clusterHealthPolicy       = new ClusterHealthPolicy();
            var nativeClusterHealthPolicy = (NativeTypes.FABRIC_CLUSTER_HEALTH_POLICY *)nativeClusterHealthPolicyPtr;

            clusterHealthPolicy.ConsiderWarningAsError          = NativeTypes.FromBOOLEAN(nativeClusterHealthPolicy->ConsiderWarningAsError);
            clusterHealthPolicy.MaxPercentUnhealthyNodes        = nativeClusterHealthPolicy->MaxPercentUnhealthyNodes;
            clusterHealthPolicy.MaxPercentUnhealthyApplications = nativeClusterHealthPolicy->MaxPercentUnhealthyApplications;

            if (nativeClusterHealthPolicy->Reserved != IntPtr.Zero)
            {
                var ex1 = (NativeTypes.FABRIC_CLUSTER_HEALTH_POLICY_EX1 *)nativeClusterHealthPolicy->Reserved;
                clusterHealthPolicy.ApplicationTypeHealthPolicyMap.FromNative(ex1->ApplicationTypeHealthPolicyMap);
            }

            return(clusterHealthPolicy);
        }