summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-15 11:50:52 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-15 11:50:52 -0500
commitbd06d992b5345fa4045efd19cdfc40d5b09ba369 (patch)
tree40ea29c73d10d18d6e4d0d079a65136da1c7cec9 /src
parentf979fa5f089a1294bb49b1250d41a20248dbd8b9 (diff)
downloadsoen423-bd06d992b5345fa4045efd19cdfc40d5b09ba369.zip
reliable multicast: make inSock a local variable
Diffstat (limited to 'src')
-rw-r--r--src/main/java/derms/net/rmulticast/ReliableMulticast.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/derms/net/rmulticast/ReliableMulticast.java b/src/main/java/derms/net/rmulticast/ReliableMulticast.java
index 600b536..98c8681 100644
--- a/src/main/java/derms/net/rmulticast/ReliableMulticast.java
+++ b/src/main/java/derms/net/rmulticast/ReliableMulticast.java
@@ -22,7 +22,7 @@ public class ReliableMulticast<T extends Serializable & Hashable> {
private final BlockingQueue<Message<T>> retransmissions; // Messages pending retransmission.
private final AtomicReference<Instant> lastSend;
private final SocketAddress group;
- private final ConcurrentMulticastSocket inSock, outSock;
+ private final ConcurrentMulticastSocket outSock;
private final InetAddress laddr; // Local address.
private final BlockingQueue<Message<T>> delivered;
private final Logger log;
@@ -36,9 +36,6 @@ public class ReliableMulticast<T extends Serializable & Hashable> {
this.group = group;
- this.inSock = new ConcurrentMulticastSocket();
- this.inSock.joinGroup(group.getAddress());
-
this.outSock = new ConcurrentMulticastSocket(group.getPort());
this.outSock.joinGroup(group.getAddress());
@@ -48,7 +45,10 @@ public class ReliableMulticast<T extends Serializable & Hashable> {
this.log = Logger.getLogger(this.getClass().getName());
+ ConcurrentMulticastSocket inSock = new ConcurrentMulticastSocket();
+ inSock.joinGroup(group.getAddress());
(new Thread(new Receive<T>(inSock, positiveAcks, negativeAcks, received, retransmissions, delivered))).start();
+
(new Thread(new Retransmit<T>(retransmissions, outSock, group))).start();
}