From 27956d3af0d4549b4250dbd036f3f86a430108fd Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 16 Nov 2024 13:14:11 -0500 Subject: reliable multicast: add log messages --- src/main/java/derms/net/ConcurrentMulticastSocket.java | 5 +++++ src/main/java/derms/net/rmulticast/Prune.java | 5 ++++- src/main/java/derms/net/rmulticast/Receive.java | 2 ++ src/main/java/derms/net/rmulticast/ReliableMulticast.java | 1 + src/main/java/derms/net/rmulticast/Retransmit.java | 1 + 5 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src/main/java/derms/net') 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 implements Runnable { for (InetAddress member : groupMembers) { try { Message 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 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 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 { outSock.send(pkt); acks.clear(); (new Thread(new Timeout(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 implements Runnable { try { DatagramPacket pkt = Packet.encode(msg, group); outSock.send(pkt); + log.info("Retransmitted " + msg); } catch (Exception e) { log.warning(e.getMessage()); } -- cgit v1.2.3