private bool IsNodePubliclyUp(AmNetworkMonitor.Node node) { IAmCluster cluster = this.GetCluster(); if (cluster == null) { AmNetworkMonitor.Tracer.TraceError <AmServerName>(0L, "If cluster object is not valid, then assume node {0} is up", node.Name); return(true); } Exception ex; AmNodeState nodeState = cluster.GetNodeState(node.Name, out ex); if (ex != null) { return(false); } if (!AmClusterNode.IsNodeUp(nodeState)) { return(false); } AmClusterNodeNetworkStatus amClusterNodeNetworkStatus = AmClusterNodeStatusAccessor.Read(cluster, node.Name, out ex); return(amClusterNodeNetworkStatus == null || amClusterNodeNetworkStatus.HasADAccess); }