diff options
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; + } } |