Package io.deephaven.engine.table.impl
Class InstrumentedTableListenerBase
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.table.impl.InstrumentedTableListenerBase
- All Implemented Interfaces:
LogOutputAppendable,LivenessManager,LivenessNode,LivenessReferent,TableListener,NotificationQueue.Dependency,Serializable
- Direct Known Subclasses:
InstrumentedTableUpdateListener,ShiftObliviousInstrumentedListener
public abstract class InstrumentedTableListenerBase
extends LivenessArtifact
implements TableListener, NotificationQueue.Dependency
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassprotected classNested classes/interfaces inherited from interface io.deephaven.engine.table.TableListener
TableListener.Entry -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleancanExecute(long step) @Nullable PerformanceEntrygetEntry()getErrorNotification(Throwable originalException, TableListener.Entry sourceEntry) Creates a notification for the exception.protected final voidlogUncaughtException(@NotNull Exception e, @NotNull TableUpdate update) Log an exception that escaped this listener's processing ofupdate, identifying the listener by its description (or by its full performance entry when verbose logging is enabled).voidonFailure(Throwable originalException, @Nullable TableListener.Entry sourceEntry) Notification of exceptions.protected abstract voidonFailureInternal(Throwable originalException, @Nullable TableListener.Entry sourceEntry) protected final voidonFailureInternalWithDependent(BaseTable<?> dependent, Throwable originalException, TableListener.Entry sourceEntry) booleansatisfied(long step) Is this ancestor satisfied? Note that this method must be safe to call on any thread.static booleansetVerboseLogging(boolean enableVerboseLogging) toString()Methods inherited from class io.deephaven.engine.liveness.LivenessArtifact
manageWithCurrentScopeMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
ensureCleanupOnGC, findAnyManagedReferent, forEachManagedReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanageMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
destroy, dropReference, tryRetainReferenceMethods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, tryDecrementReferenceCount, tryIncrementReferenceCountMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage, tryManage, tryUnmanage, tryUnmanage, unmanage, unmanageMethods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReferenceMethods inherited from interface io.deephaven.engine.updategraph.NotificationQueue.Dependency
getUpdateGraph
-
Field Details
-
failed
protected boolean failed
-
-
Method Details
-
getUpdateGraph
- Specified by:
getUpdateGraphin interfaceNotificationQueue.Dependency- Returns:
- the update graph that this dependency is a part of
-
toString
- Overrides:
toStringin classReferenceCounted
-
setVerboseLogging
public static boolean setVerboseLogging(boolean enableVerboseLogging) -
getEntry
-
getErrorNotification
public NotificationQueue.ErrorNotification getErrorNotification(Throwable originalException, TableListener.Entry sourceEntry) Description copied from interface:TableListenerCreates a notification for the exception.- Specified by:
getErrorNotificationin interfaceTableListener- Parameters:
originalException- exceptionsourceEntry- performance tracking- Returns:
- exception notification
-
append
- Specified by:
appendin interfaceLogOutputAppendable- Overrides:
appendin classReferenceCounted
-
canExecute
public boolean canExecute(long step) -
satisfied
public boolean satisfied(long step) Description copied from interface:NotificationQueue.DependencyIs this ancestor satisfied? Note that this method must be safe to call on any thread.- Specified by:
satisfiedin 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)
-
onFailure
public void onFailure(Throwable originalException, @Nullable @Nullable TableListener.Entry sourceEntry) Description copied from interface:TableListenerNotification of exceptions.- Specified by:
onFailurein interfaceTableListener- Parameters:
originalException- exceptionsourceEntry- performance tracking
-
logUncaughtException
protected final void logUncaughtException(@NotNull @NotNull Exception e, @NotNull @NotNull TableUpdate update) Log an exception that escaped this listener's processing ofupdate, identifying the listener by its description (or by its full performance entry when verbose logging is enabled).Listeners that complete their update asynchronously (e.g., on a
JobScheduler) must call this themselves beforefailing, because the exception does not propagate out ofonUpdate.- Parameters:
e- the exceptionupdate- the update being processed when the exception occurred
-
onFailureInternal
protected abstract void onFailureInternal(Throwable originalException, @Nullable @Nullable TableListener.Entry sourceEntry) -
onFailureInternalWithDependent
protected final void onFailureInternalWithDependent(BaseTable<?> dependent, Throwable originalException, TableListener.Entry sourceEntry)
-