import java.util.List;
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;
import net.pterodactylus.util.io.Closer;
}
/**
+ * Notifies listeners that a “Peer” message was received.
+ *
+ * @param peer
+ * The “Peer” message
+ */
+ private void fireReceivedPeer(Peer peer) {
+ for (FcpListener fcpListener: fcpListeners) {
+ fcpListener.receivedPeer(this, peer);
+ }
+ }
+
+ /**
+ * Notifies all listeners that an “EndListPeers” message was received.
+ *
+ * @param endListPeers
+ * The “EndListPeers” message
+ */
+ private void fireReceivedEndListPeers(EndListPeers endListPeers) {
+ for (FcpListener fcpListener: fcpListeners) {
+ fcpListener.receivedEndListPeers(this, endListPeers);
+ }
+ }
+
+ /**
* Notifies all registered listeners that a message has been received.
*
* @see FcpListener#receivedMessage(FcpConnection, FcpMessage)
*/
void handleMessage(FcpMessage fcpMessage) {
String messageName = fcpMessage.getName();
- if ("SSKKeypair".equals(messageName)) {
+ if ("Peer".equals(messageName)) {
+ fireReceivedPeer(new Peer(fcpMessage));
+ } else if ("EndListPeers".equals(messageName)) {
+ fireReceivedEndListPeers(new EndListPeers(fcpMessage));
+ } else if ("SSKKeypair".equals(messageName)) {
fireReceivedSSKKeypair(new SSKKeypair(fcpMessage));
} else if ("NodeHello".equals(messageName)) {
fireReceivedNodeHello(new NodeHello(fcpMessage));