From 6bd335c7382c0da8486e94d253dffa28525ceec7 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Mon, 18 Nov 2024 10:35:22 -0500 Subject: reliable multicast: avoid receiving duplicate messages --- src/main/java/derms/net/rmulticast/Receive.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (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 bf583dd..679df27 100644 --- a/src/main/java/derms/net/rmulticast/Receive.java +++ b/src/main/java/derms/net/rmulticast/Receive.java @@ -95,8 +95,8 @@ class Receive implements Runnable { private void deliver(Message msg) { acks.add(msg.id()); nacks.remove(msg.id()); - received.add(msg); retransmissions.remove(msg); - delivered.add(msg); + if (received.add(msg)) + delivered.add(msg); // First time seeing this message; deliver it. } } -- cgit v1.2.3