Package io.deephaven.engine.liveness
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
LivenessReferent
s until such time as they are no longer necessary.-
Method Summary
Modifier and TypeMethodDescriptiondefault void
manage
(@NotNull LivenessReferent referent) Add the specified referent to this manager.boolean
tryManage
(@NotNull LivenessReferent referent) Attempt to addreferent
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 managesreferent
one or more times, drop one such reference.default void
unmanage
(@NotNull Stream<? extends LivenessReferent> referents) For each referent inreferent
, if this manager manages referent one or more times, drop one such reference.
-
Method Details
-
manage
Add the specified referent to this manager.referent
must be live. If this manager is also aLivenessReferent
, then it must also be live.- Parameters:
referent
- The referent to add
-
tryManage
Attempt to addreferent
to this manager. Will succeed ifreferent
is live and if this manager is not aLivenessReferent
or is live.- Parameters:
referent
- The referent to add- Returns:
- Whether the referent was in fact added
-
unmanage
If this manager managesreferent
one or more times, drop one such reference. If this manager is also aLivenessReferent
, then it must also be live.- Parameters:
referent
- The referent to drop
-
tryUnmanage
If this manager manages referent one or more times, drop one such reference. If this manager is also aLivenessReferent
, then this method is a no-op ifthis
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 returnstrue
if dropping a reference via this method is supported by the implementation.
-
unmanage
For each referent inreferent
, if this manager manages referent one or more times, drop one such reference. If this manager is also aLivenessReferent
, then it must also be live.- Parameters:
referents
- The referents to drop
-
tryUnmanage
For each referent in referents, if this manager manages referent one or more times, drop one such reference. If this manager is also aLivenessReferent
, then this method is a no-op ifthis
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 returnstrue
if dropping a reference via this method is supported by the implementation.
-