diff options
Diffstat (limited to 'src')
| -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(); |