Class SnapshotAgent<K,V>

java.lang.Object
me.hsgamer.topper.agent.snapshot.SnapshotAgent<K,V>
All Implemented Interfaces:
Runnable
Direct Known Subclasses:
SnapshotHolderAgent

public abstract class SnapshotAgent<K,V> extends Object implements Runnable
  • Constructor Details

    • SnapshotAgent

      public SnapshotAgent()
  • Method Details

    • getDataStream

      protected abstract Stream<Map.Entry<K,V>> getDataStream()
    • needUpdate

      protected abstract boolean needUpdate()
    • bindTo

      public void bindTo(AgentHolder<K,V> holder)
    • getChangeNotifier

      public Notifier<SnapshotChange<K,V>> getChangeNotifier()
    • run

      public void run()
      Specified by:
      run in interface Runnable
    • getUrgentSnapshot

      public List<Map.Entry<K,V>> getUrgentSnapshot()
    • getSnapshot

      public Snapshot<K,V> getSnapshot()
    • getSnapshotIndex

      public int getSnapshotIndex(K key)
    • getSnapshotByIndex

      public Optional<Map.Entry<K,V>> getSnapshotByIndex(int index)
    • setComparator

      public void setComparator(Comparator<V> comparator)