From b767b34d97fdacd891702b041cc5eb1fdcb0b0a3 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Fri, 15 Nov 2024 12:16:53 -0500 Subject: reliable multicast: record addresses of group members --- src/main/java/derms/net/rmulticast/Receive.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/java/derms/net/rmulticast/Receive.java') diff --git a/src/main/java/derms/net/rmulticast/Receive.java b/src/main/java/derms/net/rmulticast/Receive.java index f0d1909..996e0db 100644 --- a/src/main/java/derms/net/rmulticast/Receive.java +++ b/src/main/java/derms/net/rmulticast/Receive.java @@ -6,6 +6,7 @@ import derms.net.Packet; import java.io.IOException; import java.io.Serializable; import java.net.DatagramPacket; +import java.net.InetAddress; import java.util.Set; import java.util.concurrent.BlockingQueue; import java.util.logging.Logger; @@ -18,15 +19,17 @@ class Receive implements Runnable { private final Set negativeAcks; private final ReceivedSet received; private final BlockingQueue> retransmissions; + private final Set groupMembers; private final BlockingQueue> delivered; private final Logger log; - Receive(ConcurrentMulticastSocket inSock, Set positiveAcks, Set negativeAcks, BlockingQueue> retransmissions, BlockingQueue> delivered) { + Receive(ConcurrentMulticastSocket inSock, Set positiveAcks, Set negativeAcks, BlockingQueue> retransmissions, Set groupMembers, BlockingQueue> delivered) { this.inSock = inSock; this.positiveAcks = positiveAcks; this.negativeAcks = negativeAcks; this.received = new ReceivedSet(); this.retransmissions = retransmissions; + this.groupMembers = groupMembers; this.delivered = delivered; this.log = Logger.getLogger(this.getClass().getName()); } @@ -51,6 +54,8 @@ class Receive implements Runnable { received.add(msg); delivered.add(msg); + groupMembers.add(msg.sender); + negativeAcks.remove(msg.id()); retransmissions.remove(msg); -- cgit v1.2.3