diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-11-16 13:14:11 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-11-16 13:14:11 -0500 |
| commit | 27956d3af0d4549b4250dbd036f3f86a430108fd (patch) | |
| tree | 65cd01cba843182bdb32ea591c68ba0f9c8a7e31 /src/main | |
| parent | 034bace1a53943838e49a7d2442025276f60bc55 (diff) | |
| download | soen423-27956d3af0d4549b4250dbd036f3f86a430108fd.zip | |
reliable multicast: add log messages
Diffstat (limited to 'src/main')
5 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/derms/net/ConcurrentMulticastSocket.java b/src/main/java/derms/net/ConcurrentMulticastSocket.java index dba718b..24a040c 100644 --- a/src/main/java/derms/net/ConcurrentMulticastSocket.java +++ b/src/main/java/derms/net/ConcurrentMulticastSocket.java @@ -30,4 +30,9 @@ public class ConcurrentMulticastSocket { public synchronized void receive(DatagramPacket p) throws IOException { sock.receive(p); } + + @Override + public String toString() { + return sock.getLocalSocketAddress().toString(); + } } diff --git a/src/main/java/derms/net/rmulticast/Prune.java b/src/main/java/derms/net/rmulticast/Prune.java index 05f7448..8dfadf6 100644 --- a/src/main/java/derms/net/rmulticast/Prune.java +++ b/src/main/java/derms/net/rmulticast/Prune.java @@ -46,8 +46,10 @@ class Prune<T extends MessagePayload> implements Runnable { for (InetAddress member : groupMembers) { try { Message<T> c = received.mostRecentSentBy(member); - if (!receivedByMemberAtTimeOfSending(a, member, c)) + if (!receivedByMemberAtTimeOfSending(a, member, c)) { + log.info(member.toString() + " has not received " + a + "; cannot prune it."); return; // Member has not received a -- cannot prune it. + } } catch (NoSuchElementException e) { log.warning("No message received from " + member); return; @@ -56,6 +58,7 @@ class Prune<T extends MessagePayload> implements Runnable { // All group members have received and acknowledged message a. It is safe to delete. received.remove(a); + log.info("Removed " + a + " from received list."); } /** diff --git a/src/main/java/derms/net/rmulticast/Receive.java b/src/main/java/derms/net/rmulticast/Receive.java index fee3c0a..922f357 100644 --- a/src/main/java/derms/net/rmulticast/Receive.java +++ b/src/main/java/derms/net/rmulticast/Receive.java @@ -36,12 +36,14 @@ class Receive<T extends MessagePayload> implements Runnable { @Override public void run() { + log.info("Listening on " + inSock); DatagramPacket pkt = new DatagramPacket(new byte[bufSize], bufSize); for (;;) { try { inSock.receive(pkt); Message<?> msg = Packet.decode(pkt, Message.class); receive(msg); + log.info("Received " + msg); } catch (IOException | ClassNotFoundException | ClassCastException e) { log.warning(e.getMessage()); } diff --git a/src/main/java/derms/net/rmulticast/ReliableMulticast.java b/src/main/java/derms/net/rmulticast/ReliableMulticast.java index cfd4435..dd2991a 100644 --- a/src/main/java/derms/net/rmulticast/ReliableMulticast.java +++ b/src/main/java/derms/net/rmulticast/ReliableMulticast.java @@ -81,6 +81,7 @@ public class ReliableMulticast<T extends MessagePayload> { outSock.send(pkt); acks.clear(); (new Thread(new Timeout<T>(msg, acks, retransmissions))).start(); + log.info("Sent " + msg + " from " + outSock + " to " + group); } /** Receive a message from the group, blocking if necessary until a message arrives. */ diff --git a/src/main/java/derms/net/rmulticast/Retransmit.java b/src/main/java/derms/net/rmulticast/Retransmit.java index 32e8d51..4f7754d 100644 --- a/src/main/java/derms/net/rmulticast/Retransmit.java +++ b/src/main/java/derms/net/rmulticast/Retransmit.java @@ -30,6 +30,7 @@ class Retransmit<T extends MessagePayload> implements Runnable { try { DatagramPacket pkt = Packet.encode(msg, group); outSock.send(pkt); + log.info("Retransmitted " + msg); } catch (Exception e) { log.warning(e.getMessage()); } |