import java.util.ArrayList;
import java.util.List;
-import net.pterodactylus.util.fcp.message.CloseConnectionDuplicateClientName;
-import net.pterodactylus.util.fcp.message.EndListPeerNotes;
-import net.pterodactylus.util.fcp.message.EndListPeers;
-import net.pterodactylus.util.fcp.message.NodeHello;
-import net.pterodactylus.util.fcp.message.Peer;
-import net.pterodactylus.util.fcp.message.PeerNote;
-import net.pterodactylus.util.fcp.message.SSKKeypair;
import net.pterodactylus.util.io.Closer;
/**
/**
* Notifies all listeners that a “PeerNote” message was received.
*
- * @see FcpListener#receviedPeerNote(FcpConnection, PeerNote)
+ * @see FcpListener#receivedPeerNote(FcpConnection, PeerNote)
* @param peerNote
*/
private void fireReceivedPeerNote(PeerNote peerNote) {
for (FcpListener fcpListener: fcpListeners) {
- fcpListener.receviedPeerNote(this, peerNote);
+ fcpListener.receivedPeerNote(this, peerNote);
}
}
}
/**
+ * Notifies all listeners that a “PeerRemoved” message was received.
+ *
+ * @see FcpListener#receivedPeerRemoved(FcpConnection, PeerRemoved)
+ * @param peerRemoved
+ * The “PeerRemoved” message
+ */
+ private void fireReceivedPeerRemoved(PeerRemoved peerRemoved) {
+ for (FcpListener fcpListener: fcpListeners) {
+ fcpListener.receivedPeerRemoved(this, peerRemoved);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a “NodeData” message was received.
+ *
+ * @see FcpListener#receivedNodeData(FcpConnection, NodeData)
+ * @param nodeData
+ * The “NodeData” message
+ */
+ private void fireReceivedNodeData(NodeData nodeData) {
+ for (FcpListener fcpListener: fcpListeners) {
+ fcpListener.receivedNodeData(this, nodeData);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a “TestDDAReply” message was received.
+ *
+ * @param testDDAReply
+ * The “TestDDAReply” message
+ */
+ private void fireReceivedTestDDAReply(TestDDAReply testDDAReply) {
+ for (FcpListener fcpListener: fcpListeners) {
+ fcpListener.receivedTestDDAReply(this, testDDAReply);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a “TestDDAComplete” message was received.
+ *
+ * @param testDDAComplete
+ * The “TestDDAComplete” message
+ */
+ private void fireReceivedTestDDAComplete(TestDDAComplete testDDAComplete) {
+ for (FcpListener fcpListener: fcpListeners) {
+ fcpListener.receivedTestDDAComplete(this, testDDAComplete);
+ }
+ }
+
+ /**
+ * Notifies all listeners that a “ProtocolError” message was received.
+ *
+ * @param protocolError
+ * The “ProtocolError” message
+ */
+ private void fireReceivedProtocolError(ProtocolError protocolError) {
+ for (FcpListener fcpListener: fcpListeners) {
+ fcpListener.receivedProtocolError(this, protocolError);
+ }
+ }
+
+ /**
* Notifies all registered listeners that a message has been received.
*
* @see FcpListener#receivedMessage(FcpConnection, FcpMessage)
*/
void handleMessage(FcpMessage fcpMessage) {
String messageName = fcpMessage.getName();
- if ("Peer".equals(messageName)) {
+ if ("ProtocolError".equals(messageName)) {
+ fireReceivedProtocolError(new ProtocolError(fcpMessage));
+ } else if ("Peer".equals(messageName)) {
fireReceivedPeer(new Peer(fcpMessage));
} else if ("PeerNote".equals(messageName)) {
fireReceivedPeerNote(new PeerNote(fcpMessage));
fireReceivedEndListPeers(new EndListPeers(fcpMessage));
} else if ("SSKKeypair".equals(messageName)) {
fireReceivedSSKKeypair(new SSKKeypair(fcpMessage));
+ } else if ("PeerRemoved".equals(messageName)) {
+ fireReceivedPeerRemoved(new PeerRemoved(fcpMessage));
+ } else if ("NodeData".equals(messageName)) {
+ fireReceivedNodeData(new NodeData(fcpMessage));
+ } else if ("TestDDAReply".equals(messageName)) {
+ fireReceivedTestDDAReply(new TestDDAReply(fcpMessage));
+ } else if ("TestDDAComplete".equals(messageName)) {
+ fireReceivedTestDDAComplete(new TestDDAComplete(fcpMessage));
} else if ("NodeHello".equals(messageName)) {
fireReceivedNodeHello(new NodeHello(fcpMessage));
} else if ("CloseConnectionDuplicateClientName".equals(messageName)) {