/** * @param evt Event to trigger. */ public void triggerEvent(Event evt) { notifyListener(evt); }
/** {@inheritDoc} */ @Override public void recordEvent(Event evt) { notifyListener(evt); }
/** * @param node Node to add. */ public void addNode(ClusterNode node) { rmtNodes.add(node); notifyListener(new DiscoveryEvent(locNode, "Node joined", EVT_NODE_JOINED, node)); }
/** * @param node Node for metrics update. */ public void updateMetrics(ClusterNode node) { if (locNode.equals(node) || rmtNodes.contains(node)) notifyListener(new DiscoveryEvent(locNode, "Metrics updated.", EVT_NODE_METRICS_UPDATED, node)); }
/** * @param node Node to fail. */ public void failNode(ClusterNode node) { if (rmtNodes.remove(node)) notifyListener(new DiscoveryEvent(locNode, "Node failed", EVT_NODE_FAILED, node)); }
/** */ public void updateAllMetrics() { notifyListener(new DiscoveryEvent(locNode, "Metrics updated", EVT_NODE_METRICS_UPDATED, locNode)); for (ClusterNode node : rmtNodes) notifyListener(new DiscoveryEvent(locNode, "Metrics updated", EVT_NODE_METRICS_UPDATED, node)); }
/** * @param node Node to remove. */ public void removeNode(ClusterNode node) { if (rmtNodes.remove(node)) notifyListener(new DiscoveryEvent(locNode, "Node left", EVT_NODE_LEFT, node)); }
/** * @param nodeId Node ID. */ public void removeNode(UUID nodeId) { for (Iterator<ClusterNode> iter = rmtNodes.iterator(); iter.hasNext(); ) { ClusterNode node = iter.next(); if (node.id().equals(nodeId)) { iter.remove(); notifyListener(new DiscoveryEvent(locNode, "Node left", EVT_NODE_LEFT, node)); } } }
/** * @param nodes Nodes to reset. * @param rmv Whether nodes that were not passed in should be removed or not. */ public void resetNodes(Collection<ClusterNode> nodes, boolean rmv) { for (ClusterNode node : nodes) { assert !node.equals(locNode); if (!rmtNodes.contains(node)) addNode(node); } if (rmv) { for (Iterator<ClusterNode> iter = rmtNodes.iterator(); iter.hasNext();) { ClusterNode node = iter.next(); if (!nodes.contains(node)) { iter.remove(); notifyListener(new DiscoveryEvent(locNode, "Node left", EVT_NODE_LEFT, node)); } } } }