+ /**
+ * Notifies all listeners that a node was added to the core.
+ *
+ * @param node
+ * The node that was added
+ */
+ private void fireNodeAdded(Node node) {
+ for (CoreListener coreListener: coreListeners) {
+ coreListener.nodeAdded(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a node was removed from the core.
+ *
+ * @param node
+ * The node that was removed
+ */
+ private void fireNodeRemoved(Node node) {
+ for (CoreListener coreListener: coreListeners) {
+ coreListener.nodeRemoved(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a connection to the given node is now being
+ * established.
+ *
+ * @param node
+ * The node that is being connected to
+ */
+ private void fireNodeConnecting(Node node) {
+ for (CoreListener coreListener: coreListeners) {
+ coreListener.nodeConnecting(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that the given node is now connected.
+ *
+ * @param node
+ * The node that is now connected
+ */
+ private void fireNodeConnected(Node node) {
+ for (CoreListener coreListener: coreListeners) {
+ coreListener.nodeConnected(node);
+ }
+ }
+
+ /**
+ * Notifies all listeners that the given node was disconnected.
+ *
+ * @param node
+ * The node that is now disconnected
+ * @param throwable
+ * The exception that caused the disconnect, or <code>null</code>
+ * if there was no exception
+ */
+ private void fireNodeDisconnected(Node node, Throwable throwable) {
+ for (CoreListener coreListener: coreListeners) {
+ coreListener.nodeDisconnected(node, throwable);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a request was added to a node.
+ *
+ * @param node
+ * The node the request was added to
+ * @param request
+ * The request that was added
+ */
+ private void fireRequestAdded(Node node, Request request) {
+ for (CoreListener coreListener: coreListeners) {
+ coreListener.requestAdded(node, request);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a request progressed.
+ *
+ * @param node
+ * The node that runs the request
+ * @param request
+ * The request
+ * @param totalBlocks
+ * The total number of blocks
+ * @param requiredBlocks
+ * The number of required blocks
+ * @param successfulBlocks
+ * The number of successful blocks
+ * @param failedBlocks
+ * The number of failed blocks
+ * @param fatallyFailedBlocks
+ * The number of fatally failed blocks
+ * @param finalizedTotal
+ * <code>true</code> if the total number of blocks in final,
+ * <code>false</code> otherwise
+ */
+ private void fireRequestProgressed(Node node, Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) {
+ for (CoreListener coreListener: coreListeners) {
+ coreListener.requestProgressed(request, totalBlocks, requiredBlocks, successfulBlocks, failedBlocks, fatallyFailedBlocks, finalizedTotal);
+ }
+ }
+