package derms.net.rmulticast; import java.io.Serializable; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; class ReceivedSet { private final Set> received; ReceivedSet() { this.received = new ConcurrentHashMap, Void>().keySet(); } void add(Message e) { received.add(e); } // TODO: faster search. boolean contains(MessageID mid) { for (Message msg : received) if (msg.id().equals(mid)) return true; return false; } }