package com.zillabyte.motherbrain.flow.collectors.coordinated.support; import java.io.Serializable; /***** * A word of caution to implementers: * * Be aware that the concrete implementations of this interface MUST be robust & handle ***HUGE*** number of tuples. * */ public interface TupleIdSet extends Serializable, Iterable<Object> { public final static TupleIdSet EMPTY = new EmptyTupleIdSet(); void add(Object t); void addAll(TupleIdSet set); void removeAll(TupleIdSet set); int size(); TupleIdSet getTupleIdsOlderThan(Long time); void setTimestamp(TupleIdSet set, Long time); Long getOldest(); void cleanup(); TupleIdSet clone(); void remove(Object t); void clear(); }