diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2024-11-18 11:05:28 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2024-11-18 11:05:28 -0500 |
| commit | 65f48a512ad63802a2031e2452f18653bf770c4c (patch) | |
| tree | 435a63236516a34f1a727adf2b1013645087722a | |
| parent | a4ff53302f3ec3f6d8bc52afa6a594acfeeb045f (diff) | |
| download | soen423-65f48a512ad63802a2031e2452f18653bf770c4c.zip | |
rmulticast.ReceivedSet.Entry: add isBefore/After methods
| -rw-r--r-- | src/main/java/derms/net/rmulticast/ReceivedSet.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/derms/net/rmulticast/ReceivedSet.java b/src/main/java/derms/net/rmulticast/ReceivedSet.java index 16b586b..5bd3d85 100644 --- a/src/main/java/derms/net/rmulticast/ReceivedSet.java +++ b/src/main/java/derms/net/rmulticast/ReceivedSet.java @@ -47,7 +47,7 @@ class ReceivedSet<T extends MessagePayload> { Message<T> peekOldest() { Entry<T> oldest = null; for (Entry<T> e : received.values()) - if (oldest == null || e.timestamp.isBefore(oldest.timestamp)) + if (oldest == null || e.isBefore(oldest)) oldest = e; if (oldest == null) return null; @@ -57,7 +57,7 @@ class ReceivedSet<T extends MessagePayload> { Message<T> mostRecentSentBy(InetAddress member) throws NoSuchElementException { Entry<T> recent = null; for (Entry<T> e : received.values()) - if (e.msg.isSentBy(member) && (recent == null || e.timestamp.isAfter(recent.timestamp))) + if (e.msg.isSentBy(member) && (recent == null || e.isAfter(recent))) recent = e; if (recent == null) throw new NoSuchElementException("no message from " + member + " in received list."); @@ -82,6 +82,14 @@ class ReceivedSet<T extends MessagePayload> { this.timestamp = Instant.now(); } + private boolean isBefore(Entry<T> other) { + return this.timestamp.isBefore(other.timestamp); + } + + private boolean isAfter(Entry<T> other) { + return this.timestamp.isAfter(other.timestamp); + } + @Override public int hashCode() { return msg.hashCode(); |