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)); } }
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); }