diff options
Diffstat (limited to 'src/main/java/derms')
| -rw-r--r-- | src/main/java/derms/net/rmulticast/Message.java | 4 | ||||
| -rw-r--r-- | src/main/java/derms/net/rmulticast/ReceivedSet.java | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/derms/net/rmulticast/Message.java b/src/main/java/derms/net/rmulticast/Message.java index b4749a3..21f8d19 100644 --- a/src/main/java/derms/net/rmulticast/Message.java +++ b/src/main/java/derms/net/rmulticast/Message.java @@ -30,6 +30,10 @@ class Message<T extends MessagePayload> implements Serializable { return new MessageID(hashCode()); } + boolean isSentBy(InetAddress member) { + return sender.equals(member); + } + @Override public int hashCode() { return payload.hash() * salt; diff --git a/src/main/java/derms/net/rmulticast/ReceivedSet.java b/src/main/java/derms/net/rmulticast/ReceivedSet.java index 91ef95d..16b586b 100644 --- a/src/main/java/derms/net/rmulticast/ReceivedSet.java +++ b/src/main/java/derms/net/rmulticast/ReceivedSet.java @@ -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.sender.equals(member) && (recent == null || e.timestamp.isAfter(recent.timestamp))) + if (e.msg.isSentBy(member) && (recent == null || e.timestamp.isAfter(recent.timestamp))) recent = e; if (recent == null) throw new NoSuchElementException("no message from " + member + " in received list."); @@ -67,7 +67,7 @@ class ReceivedSet<T extends MessagePayload> { List<Message<T>> allSentBy(InetAddress sender) { List<Message<T>> sent = new ArrayList<Message<T>>(); for (Entry<T> e : received.values()) { - if (e.msg.sender.equals(sender)) + if (e.msg.isSentBy(sender)) sent.add(e.msg); } return sent; |