Package io.deephaven.engine.updategraph
Class UpdateSourceCombiner
java.lang.Object
io.deephaven.util.referencecounting.ReferenceCounted
io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
io.deephaven.engine.liveness.ReferenceCountedLivenessNode
io.deephaven.engine.liveness.LivenessArtifact
io.deephaven.engine.updategraph.UpdateSourceCombiner
- All Implemented Interfaces:
LogOutputAppendable
,LivenessManager
,LivenessNode
,LivenessReferent
,NotificationQueue.Dependency
,UpdateSourceRegistrar
,Serializable
,Runnable
public class UpdateSourceCombiner
extends LivenessArtifact
implements Runnable, UpdateSourceRegistrar
Update source that combines multiple sources in order to force them to be refreshed as a unit within the
update graph
provided at construction.- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a source to this registrar.void
destroy()
Attempt to release (destructively when necessary) resources held by this object.void
install()
Add this UpdateSourceCombiner to theupdate graph
passed at construction.void
removeSource
(@NotNull Runnable updateSource) Remove a source from this registrar.void
Passes through to theupdate graph
passed at construction.void
run()
boolean
satisfied
(long step) Is this ancestor satisfied? Note that this method must be safe to call on any thread.Methods inherited from class io.deephaven.engine.liveness.LivenessArtifact
manageWithCurrentScope
Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanage
Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
dropReference, tryRetainReference
Methods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
append, decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCount
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage
Methods inherited from interface io.deephaven.engine.liveness.LivenessNode
unmanage, unmanage
Methods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, retainReference, tryRetainReference
Methods inherited from interface io.deephaven.base.log.LogOutputAppendable
append
Methods inherited from interface io.deephaven.engine.updategraph.NotificationQueue.Dependency
getUpdateGraph
Methods inherited from interface io.deephaven.engine.updategraph.UpdateSourceRegistrar
removeSources
-
Constructor Details
-
UpdateSourceCombiner
-
-
Method Details
-
install
public void install()Add this UpdateSourceCombiner to theupdate graph
passed at construction. This should only be done once. -
run
public void run() -
addSource
Description copied from interface:UpdateSourceRegistrar
Add a source to this registrar.- Specified by:
addSource
in interfaceUpdateSourceRegistrar
- Parameters:
updateSource
- The table to add
-
removeSource
Description copied from interface:UpdateSourceRegistrar
Remove a source from this registrar.- Specified by:
removeSource
in interfaceUpdateSourceRegistrar
- Parameters:
updateSource
- The table to remove
-
requestRefresh
public void requestRefresh()Passes through to theupdate graph
passed at construction.- Specified by:
requestRefresh
in interfaceUpdateSourceRegistrar
-
destroy
public void destroy()Description copied from class:ReferenceCountedLivenessReferent
Attempt to release (destructively when necessary) resources held by this object. This may render the object unusable for subsequent operations. Implementations should be sure to call super.destroy().This is intended to only ever be used as a side effect of decreasing the reference count to 0.
- Overrides:
destroy
in classReferenceCountedLivenessReferent
-
satisfied
public boolean satisfied(long step) Description copied from interface:NotificationQueue.Dependency
Is this ancestor satisfied? Note that this method must be safe to call on any thread.- Specified by:
satisfied
in interfaceNotificationQueue.Dependency
- Parameters:
step
- The step for which we are testing satisfaction- Returns:
- Whether the dependency is satisfied on
step
(and will not fire subsequent notifications)
-
getUpdateGraph
- Specified by:
getUpdateGraph
in interfaceNotificationQueue.Dependency
- Returns:
- the update graph that this dependency is a part of
-