import java.util.EventListener;
-import net.pterodactylus.util.fcp.message.CloseConnectionDuplicateClientName;
-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.SSKKeypair;
-
/**
* Interface for objects that want to be notified on certain FCP events.
*
public interface FcpListener extends EventListener {
/**
- * Notifies listeners that a “NodeHello” message was received.
+ * Notifies a listener that a “NodeHello” message was received.
*
* @param fcpConnection
* The connection that received the message
public void receivedNodeHello(FcpConnection fcpConnection, NodeHello nodeHello);
/**
- * Notifies all listeners that a “CloseConnectionDuplicateClientName”
- * message was received.
+ * Notifies a listener that a “CloseConnectionDuplicateClientName” message
+ * was received.
*
* @param fcpConnection
* The connection that received the message
public void receivedCloseConnectionDuplicateClientName(FcpConnection fcpConnection, CloseConnectionDuplicateClientName closeConnectionDuplicateClientName);
/**
- * Notifies all listeners that a “SSKKeypair” message was received.
+ * Notifies a listener that a “SSKKeypair” message was received.
*
* @param fcpConnection
* The connection that received themessage
public void receivedSSKKeypair(FcpConnection fcpConnection, SSKKeypair sskKeypair);
/**
- * Notifies all listeners that a “Peer” message was received.
+ * Notifies a listener that a “Peer” message was received.
*
* @param fcpConnection
* The connection that received the message
public void receivedEndListPeers(FcpConnection fcpConnection, EndListPeers endListPeers);
/**
- * Notifies listeners that a message has been received. This method is only
+ * Notifies a listener that a “PeerNote” message was received.
+ *
+ * @param fcpConnection
+ * The connection that received the message
+ * @param peerNote
+ * The “PeerNote” message
+ */
+ public void receivedPeerNote(FcpConnection fcpConnection, PeerNote peerNote);
+
+ /**
+ * Notifies a listener that an “EndListPeerNotes” message was received.
+ *
+ * @param fcpConnection
+ * The connection that received the message
+ * @param endListPeerNotes
+ * The “EndListPeerNotes” message
+ */
+ public void receivedEndListPeerNotes(FcpConnection fcpConnection, EndListPeerNotes endListPeerNotes);
+
+ /**
+ * Notifies a listener that a “PeerRemoved” message was received.
+ *
+ * @param fcpConnection
+ * The connection that received the message
+ * @param peerRemoved
+ * The “PeerRemoved” message
+ */
+ public void receivedPeerRemoved(FcpConnection fcpConnection, PeerRemoved peerRemoved);
+
+ /**
+ * Notifies a listener that a “NodeData” message was received.
+ *
+ * @param fcpConnection
+ * The connection that received the message
+ * @param nodeData
+ * The “NodeData” message
+ */
+ public void receivedNodeData(FcpConnection fcpConnection, NodeData nodeData);
+
+ /**
+ * Notifies a listener that a “TestDDAReply” message was received.
+ *
+ * @param fcpConnection
+ * The connection that received the message
+ * @param testDDAReply
+ * The “TestDDAReply” message
+ */
+ public void receivedTestDDAReply(FcpConnection fcpConnection, TestDDAReply testDDAReply);
+
+ /**
+ * Notifies a listener that a message has been received. This method is only
* called if {@link FcpConnection#handleMessage(FcpMessage)} does not
* recognize the message. Should that ever happen, please file a bug report!
*