diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-11-15 11:48:12 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-11-15 11:48:12 -0500 |
| commit | f979fa5f089a1294bb49b1250d41a20248dbd8b9 (patch) | |
| tree | 00941fa9e7a7222b69ec6135827ec7acbc1d4a8e /src/main/java/derms/net/rmulticast/ReliableMulticast.java | |
| parent | 3ebcee7b335d0e23915f3ec8e15c9995cd8d3004 (diff) | |
| download | soen423-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.java | 7 |
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; + } } |