summaryrefslogtreecommitdiffstats
path: root/src/main/java/derms/net/rmulticast/ReliableMulticast.java
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-15 11:48:12 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-15 11:48:12 -0500
commitf979fa5f089a1294bb49b1250d41a20248dbd8b9 (patch)
tree00941fa9e7a7222b69ec6135827ec7acbc1d4a8e /src/main/java/derms/net/rmulticast/ReliableMulticast.java
parent3ebcee7b335d0e23915f3ec8e15c9995cd8d3004 (diff)
downloadsoen423-f979fa5f089a1294bb49b1250d41a20248dbd8b9.zip
reliable multicast: receive()
Diffstat (limited to 'src/main/java/derms/net/rmulticast/ReliableMulticast.java')
-rw-r--r--src/main/java/derms/net/rmulticast/ReliableMulticast.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/derms/net/rmulticast/ReliableMulticast.java b/src/main/java/derms/net/rmulticast/ReliableMulticast.java
index 44fc10c..600b536 100644
--- a/src/main/java/derms/net/rmulticast/ReliableMulticast.java
+++ b/src/main/java/derms/net/rmulticast/ReliableMulticast.java
@@ -48,7 +48,7 @@ public class ReliableMulticast<T extends Serializable & Hashable> {
this.log = Logger.getLogger(this.getClass().getName());
- (new Thread(new Receive<T>(inSock, positiveAcks, negativeAcks, received, retransmissions))).start();
+ (new Thread(new Receive<T>(inSock, positiveAcks, negativeAcks, received, retransmissions, delivered))).start();
(new Thread(new Retransmit<T>(retransmissions, outSock, group))).start();
}
@@ -64,4 +64,9 @@ public class ReliableMulticast<T extends Serializable & Hashable> {
(new Thread(new Timeout<T>(msg, positiveAcks, retransmissions))).start();
lastSend.set(Instant.now());
}
+
+ public T receive() throws InterruptedException {
+ Message<T> msg = delivered.take();
+ return msg.payload;
+ }
}