Interface LivenessManager

All Known Subinterfaces:
ColumnSourceManager, DelegatingLivenessNode, IcebergTable, LazySnapshotTable, LivenessNode, PartitionedTable, QueryScope, ReleasableLivenessManager, ScriptSession, ShiftObliviousListener, Table, TableAdapter, TableDefaults, TableListener, TableUpdateListener
All Known Implementing Classes:
AbstractDataIndex, AbstractScriptSession, AbstractScriptSession.ScriptSessionQueryScope, AppendOnlyArrayBackedInputTable, AppendOnlyAssertionInstrumentedListenerAdapter, ArrowFlightUtil.DoExchangeMarshaller, AutoTuningIncrementalReleaseFilter, BarrageBlinkTable, BarrageMessageProducer, BarrageRedirectedTable, BarrageSnapshotImpl, BarrageSubscriptionImpl, BarrageTable, BaseGridAttributes, BaseIncrementalReleaseFilter, BaseTable, BaseTable.ListenerImpl, BaseTable.ShiftObliviousListenerImpl, BucketedChunkedAjMergedListener, ClockFilter, ComposedFilter, ConjunctiveFilter, DeferredViewTable, DeferredViewTable.TableReference, DelegatingScriptSession, DisjunctiveFilter, DynamicWhereFilter, EmptyQueryScope, FigureWidget, GroovyDeephavenSession, HierarchicalTableView, HierarchicalTableViewSubscription, IcebergTableImpl, IncrementalReleaseFilter, InMemoryTable, InstrumentedTableListenerBase, InstrumentedTableUpdateListener, InstrumentedTableUpdateListenerAdapter, JoinListenerRecorder, KafkaStreamPublisher, KeyedArrayBackedInputTable, ListenerRecorder, LiveAttributeMap, LivenessArtifact, LivenessScope, MergedListener, NoLanguageDeephavenSession, PartitionAwareSourceTable, PartitionedTableImpl, PermanentLivenessManager, PoisonedQueryScope, PrintListener, PublishToKafka, PythonDeephavenSession, PythonListenerAdapter, PythonMergedListenerAdapter, PythonReplayListenerAdapter, PythonReplayShiftObliviousListenerAdapter, PythonShiftObliviousListenerAdapter, QueryReplayGroupedTable, QueryTable, QueryTable.FilteredTable, RedefinableTable, ReferenceCountedLivenessNode, RegionedColumnSourceManager, RemappedDataIndex, ReplayGroupedFullTable, ReplayLastByGroupedTable, ReplayTable, ReplayTableBase, RollingReleaseFilter, RollupTableImpl, SessionState.ExportObject, ShiftObliviousInstrumentedListener, ShiftObliviousInstrumentedListenerAdapter, SimpleSourceTable, SingletonLivenessManager, SnapshotIncrementalListener, SnapshotInternalListener, SortedAssertionInstrumentedListenerAdapter, SortedClockFilter, SortListener, SourcePartitionedTable, SourceTable, StandaloneDataIndex, StandaloneLivenessManager, StandaloneQueryScope, StreamPublisherBase, TableBackedDataIndex, TableLocationSubscriptionBuffer, TableSupplier, TimeSeriesFilter, TimeTable, ToMapListener, TransformedDataIndex, TreeTableImpl, UncoalescedTable, UnsortedClockFilter, UpdatableTable, UpdateSourceCombiner, UpdateSourceQueryTable, WhereFilterLivenessArtifactImpl, ZeroKeyChunkedAjMergedListener

public interface LivenessManager
Interface for objects that retainReference LivenessReferents until such time as they are no longer necessary.
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    manage(@NotNull LivenessReferent referent)
    Add the specified referent to this manager.
    boolean
    tryManage(@NotNull LivenessReferent referent)
    Attempt to add referent to this manager.
    boolean
    tryUnmanage(@NotNull LivenessReferent referent)
    If this manager manages referent one or more times, drop one such reference.
    boolean
    tryUnmanage(@NotNull Stream<? extends LivenessReferent> referents)
    For each referent in referents, if this manager manages referent one or more times, drop one such reference.
    default void
    unmanage(@NotNull LivenessReferent referent)
    If this manager manages referent one or more times, drop one such reference.
    default void
    unmanage(@NotNull Stream<? extends LivenessReferent> referents)
    For each referent in referent, if this manager manages referent one or more times, drop one such reference.
  • Method Details

    • manage

      @FinalDefault default void manage(@NotNull @NotNull LivenessReferent referent)
      Add the specified referent to this manager. referent must be live. If this manager is also a LivenessReferent, then it must also be live.
      Parameters:
      referent - The referent to add
    • tryManage

      boolean tryManage(@NotNull @NotNull LivenessReferent referent)
      Attempt to add referent to this manager. Will succeed if referent is live and if this manager is not a LivenessReferent or is live.
      Parameters:
      referent - The referent to add
      Returns:
      Whether the referent was in fact added
    • unmanage

      @FinalDefault default void unmanage(@NotNull @NotNull LivenessReferent referent)
      If this manager manages referent one or more times, drop one such reference. If this manager is also a LivenessReferent, then it must also be live.
      Parameters:
      referent - The referent to drop
    • tryUnmanage

      boolean tryUnmanage(@NotNull @NotNull LivenessReferent referent)
      If this manager manages referent one or more times, drop one such reference. If this manager is also a LivenessReferent, then this method is a no-op if this is not live.
      Parameters:
      referent - The referent to drop
      Returns:
      If this node is also a LivenessReferent, whether this node was live and thus in fact tried to drop a reference. Else always returns true if dropping a reference via this method is supported by the implementation.
    • unmanage

      @FinalDefault default void unmanage(@NotNull @NotNull Stream<? extends LivenessReferent> referents)
      For each referent in referent, if this manager manages referent one or more times, drop one such reference. If this manager is also a LivenessReferent, then it must also be live.
      Parameters:
      referents - The referents to drop
    • tryUnmanage

      boolean tryUnmanage(@NotNull @NotNull Stream<? extends LivenessReferent> referents)
      For each referent in referents, if this manager manages referent one or more times, drop one such reference. If this manager is also a LivenessReferent, then this method is a no-op if this is not live.
      Parameters:
      referents - The referents to drop
      Returns:
      If this node is also a LivenessReferent, whether this node was live and thus in fact tried to drop the references. Else always returns true if dropping a reference via this method is supported by the implementation.