Added comments and corrected some mistakes.
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
package vslab1.src.Request.Data;
|
||||
|
||||
import vslab1.src.FileReaderWriter.FileReaderWriter;
|
||||
import vslab1.src.FileReaderWriter.FileReaderWriter.EUpdateFlag;
|
||||
import vslab1.src.Peers.EOnlineState;
|
||||
import vslab1.src.Peers.Peer;
|
||||
import vslab1.src.Sending.SendingQueue;
|
||||
import vslab1.src.Sending.Data.EDataType;
|
||||
import vslab1.src.Sending.Data.PeerJoinedNotification;
|
||||
import vslab1.src.Sending.Data.PeerNotification;
|
||||
|
||||
/**
|
||||
* Received join request will trigger an update of peer that wants to join this
|
||||
@@ -31,10 +31,16 @@ public record ReceivedJoinRequest(Peer sender, Peer receiver) implements Request
|
||||
|
||||
@Override
|
||||
public void execute(SendingQueue sendingQueue) {
|
||||
FileReaderWriter.updatePeer(new Peer(sender.ipAddress(), sender.port(), null, EOnlineState.Online));
|
||||
|
||||
Peer newPeer = new Peer(sender.ipAddress(), sender.port(), null, EOnlineState.Online);
|
||||
FileReaderWriter.updatePeer(newPeer);
|
||||
// Send own information back to new peer.
|
||||
sendingQueue.add(new PeerNotification(receiver, newPeer));
|
||||
// Notify other peers except the new peer about the new peer, which joined the network.
|
||||
FileReaderWriter.getPeers().forEach((peer) -> {
|
||||
sendingQueue.add(new PeerJoinedNotification(peer, FileReaderWriter.getThisPeer(EUpdateFlag.DoNotUpdate)));
|
||||
// Except the new peer
|
||||
if (!peer.equals(newPeer)) {
|
||||
sendingQueue.add(new PeerJoinedNotification(newPeer, peer));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -31,8 +31,8 @@ public class TimeoutThread extends Thread implements Terminatable {
|
||||
String ipAddress = timeoutJob.peerToWaitFor().ipAddress();
|
||||
int port = timeoutJob.peerToWaitFor().port();
|
||||
Peer unreachablePeer = new Peer(ipAddress, port, null, EOnlineState.Offline);
|
||||
FileReaderWriter.updatePeer(unreachablePeer);
|
||||
System.out.println("Peer unreachable. IP: " + unreachablePeer.ipAddress() + " Port: " + unreachablePeer.port());
|
||||
//FileReaderWriter.updatePeer(unreachablePeer);
|
||||
jobQueue.remove(timeoutJob);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user