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
LivenessReferents until such time as they are no longer necessary.-
Method Summary
Modifier and TypeMethodDescriptiondefault voidmanage(@NotNull LivenessReferent referent) Add the specified referent to this manager.booleantryManage(@NotNull LivenessReferent referent) Attempt to addreferentto this manager.booleantryUnmanage(@NotNull LivenessReferent referent) If this manager manages referent one or more times, drop one such reference.booleantryUnmanage(@NotNull Stream<? extends LivenessReferent> referents) For each referent in referents, if this manager manages referent one or more times, drop one such reference.default voidunmanage(@NotNull LivenessReferent referent) If this manager managesreferentone or more times, drop one such reference.default voidunmanage(@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.referentmust be live. If this manager is also aLivenessReferent, then it must also be live.- Parameters:
referent- The referent to add
-
tryManage
Attempt to addreferentto this manager. Will succeed ifreferentis live and if this manager is not aLivenessReferentor is live.- Parameters:
referent- The referent to add- Returns:
- Whether the referent was in fact added
-
unmanage
If this manager managesreferentone 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 ifthisis 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 returnstrueif 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 ifthisis 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 returnstrueif dropping a reference via this method is supported by the implementation.
-