package ecologylab.bigsemantics.distributed; import java.util.concurrent.atomic.AtomicLong; /** * * @author quyin * * @param <T> */ class PQEntry<T> implements Comparable<PQEntry<T>> { private static AtomicLong SEQ = new AtomicLong(1); private int priority; private long seq; private T entry; public PQEntry(T entry, int priority) { this.entry = entry; this.priority = priority; } public int getPriority() { return priority; } public void setPriority(int priority) { this.priority = priority; } public long getSeq() { return seq; } public T getEntry() { return entry; } public void nextSeq() { seq = SEQ.getAndIncrement(); } @Override public int compareTo(PQEntry<T> other) { int result = Integer.compare(priority, other.priority); if (result == 0) { return Long.compare(seq, other.seq); } return result; } }