inline bool TransporterFacade::getIsDbNode(NodeId n) const { return theClusterMgr->getNodeInfo(n).defined && theClusterMgr->getNodeInfo(n).m_info.m_type == NodeInfo::DB; }
inline bool TransporterFacade::get_node_alive(NodeId n) const { const ClusterMgr::Node & node = theClusterMgr->getNodeInfo(n); return node.m_alive; }
inline bool TransporterFacade::get_node_stopping(NodeId n) const { const ClusterMgr::Node & node = theClusterMgr->getNodeInfo(n); return (!node.m_state.getSingleUserMode() && (node.m_state.startLevel == NodeState::SL_STOPPING_1) || (node.m_state.startLevel == NodeState::SL_STOPPING_2)); }
inline bool TransporterFacade::get_node_alive(NodeId n) const { if (theClusterMgr) { return theClusterMgr->getNodeInfo(n).m_alive; } return 0; }
inline bool TransporterFacade::getIsNodeSendable(NodeId n) const { const ClusterMgr::Node & node = theClusterMgr->getNodeInfo(n); const Uint32 startLevel = node.m_state.startLevel; if (node.m_info.m_type == NodeInfo::DB) { return node.compatible && (startLevel == NodeState::SL_STARTED || startLevel == NodeState::SL_STOPPING_1 || node.m_state.getSingleUserMode()); } else { ndbout_c("TransporterFacade::getIsNodeSendable: Illegal node type: " "%d of node: %d", node.m_info.m_type, n); abort(); return false; // to remove compiler warning } }
inline Uint32 TransporterFacade::getNodeSequence(NodeId n) const { return theClusterMgr->getNodeInfo(n).m_info.m_connectCount; }
inline Uint32 TransporterFacade::getNodeGrp(NodeId n) const { return theClusterMgr->getNodeInfo(n).m_state.nodeGroup; }