diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-11-20 10:27:38 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-11-20 10:27:38 -0500 |
| commit | 22c5d0003228d43df61c7ad56d3da847e99321e5 (patch) | |
| tree | a3fb704c4c0d39d00be90917d03890c5b306803d /src/main/java/derms/net | |
| parent | a6b4da70d34679db3ff18e1f44f41832326a94d9 (diff) | |
| download | soen423-22c5d0003228d43df61c7ad56d3da847e99321e5.zip | |
tomulticast: fix off-by-one error in sequence number
Diffstat (limited to 'src/main/java/derms/net')
| -rw-r--r-- | src/main/java/derms/net/tomulticast/Receive.java | 2 | ||||
| -rw-r--r-- | src/main/java/derms/net/tomulticast/TotalOrderMulticast.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/derms/net/tomulticast/Receive.java b/src/main/java/derms/net/tomulticast/Receive.java index f95ee5f..06db127 100644 --- a/src/main/java/derms/net/tomulticast/Receive.java +++ b/src/main/java/derms/net/tomulticast/Receive.java @@ -41,7 +41,7 @@ class Receive<T extends MessagePayload> extends TotalOrderMulticast<T> implement while (!holdback.isEmpty()) { // Messages with lower sequence numbers are removed from the priority queue first. Message<T> msg = holdback.peek(); - if (msg == null || msg.seq != seq+1) + if (msg == null || msg.seq != seq) return; // This is the next element in the sequence; deliver it. diff --git a/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java b/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java index 146f706..a6dc2a9 100644 --- a/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java +++ b/src/main/java/derms/net/tomulticast/TotalOrderMulticast.java @@ -43,7 +43,7 @@ public abstract class TotalOrderMulticast<T extends MessagePayload> { /** Increment the sequence number. */ protected void incSeq() { - if (seq < seq.MAX_VALUE-1) { + if (seq < seq.MAX_VALUE) { seq++; } else { log.warning("Sequence number overflow. Wrapping to 0."); |