diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-11-18 10:35:22 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-11-18 10:35:22 -0500 |
| commit | 6bd335c7382c0da8486e94d253dffa28525ceec7 (patch) | |
| tree | 0324179a04d97664bd7f10faf8850d10d3b0555f /src/main/java/derms/net/rmulticast/Receive.java | |
| parent | e62c171662c1fd14bf1aa0887ccb73e219f8f189 (diff) | |
| download | soen423-6bd335c7382c0da8486e94d253dffa28525ceec7.zip | |
reliable multicast: avoid receiving duplicate messages
Diffstat (limited to 'src/main/java/derms/net/rmulticast/Receive.java')
| -rw-r--r-- | src/main/java/derms/net/rmulticast/Receive.java | 4 |
1 files changed, 2 insertions, 2 deletions
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<T extends MessagePayload> implements Runnable { private void deliver(Message<T> 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. } } |