Added PeerJoined sendable and requestable.

This commit is contained in:
WickedJack99
2024-04-22 15:58:53 +02:00
parent c1364d09d7
commit 9b61971e78
2 changed files with 71 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package vslab1.src.Request.Data;
import vslab1.src.FileReaderWriter.FileReaderWriter;
import vslab1.src.Peers.Peer;
import vslab1.src.Sending.SendingQueue;
import vslab1.src.Sending.Data.EDataType;
import vslab1.src.Sending.Data.PeerNotification;
/**
* Received peerJoined notification from friend of peer that joined. Updates information of received
* new peer to online and triggers peer response to peer that joined.
*/
public record ReceivedPeerJoinedNotification(Peer sender, Peer receiver) implements Requestable {
@Override
public EDataType getType() {
return EDataType.PeerJoinedNotification;
}
@Override
public Peer getSender() {
return sender;
}
@Override
public Peer getReceiver() {
return receiver;
}
@Override
public void execute(SendingQueue sendingQueue) {
FileReaderWriter.updatePeer(sender);
sendingQueue.add(new PeerNotification(receiver, sender));
}
}

View File

@@ -0,0 +1,35 @@
package vslab1.src.Sending.Data;
import vslab1.src.Peers.Peer;
/**
* Sent by friend of peer which sent a join request to all peers in the network.
* Logic, that sent to all peers realized in ReceivedJoinRequest.
*/
public record PeerJoinedNotification(Peer sender, Peer receiver) implements Sendable {
@Override
public EDataType getType() {
return EDataType.PeerJoinedNotification;
}
@Override
public Peer getSender() {
return sender;
}
@Override
public Peer getReceiver() {
return receiver;
}
@Override
public byte[] getMessage() {
String request =
"{\"peerJoined\":\"\"" +
"," +
"\"ipPort\":\"" + sender.ipAddress() + ":" + sender.port() + "\"}";
return request.getBytes();
}
}