Class SingletonLivenessManager

java.lang.Object
io.deephaven.engine.liveness.SingletonLivenessManager
All Implemented Interfaces:
LivenessManager, ReleasableLivenessManager
Direct Known Subclasses:
ArrowFlightUtil.DoExchangeMarshaller

public class SingletonLivenessManager extends Object implements ReleasableLivenessManager
ReleasableLivenessManager to manage exactly one object, passed at construction time or managed later.
  • Constructor Details

    • SingletonLivenessManager

      public SingletonLivenessManager()
    • SingletonLivenessManager

      public SingletonLivenessManager(@NotNull @NotNull LivenessReferent referent)
  • Method Details

    • tryManage

      public final boolean tryManage(@NotNull @NotNull LivenessReferent referent)
      Description copied from interface: LivenessManager
      Attempt to add referent to this manager. Will succeed if referent is live and if this manager is not a LivenessReferent or is live.
      Specified by:
      tryManage in interface LivenessManager
      Parameters:
      referent - The referent to add
      Returns:
      Whether the referent was in fact added
    • tryUnmanage

      public boolean tryUnmanage(@NotNull @NotNull LivenessReferent referent)
      Description copied from interface: LivenessManager
      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.
      Specified by:
      tryUnmanage in interface LivenessManager
      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.
    • tryUnmanage

      public boolean tryUnmanage(@NotNull @NotNull Stream<? extends LivenessReferent> referents)
      Description copied from interface: LivenessManager
      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.
      Specified by:
      tryUnmanage in interface LivenessManager
      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.
    • release

      public final void release()
      Description copied from interface: ReleasableLivenessManager
      Release ownership of this ReleasableLivenessManager, allowing any retained LivenessReferents to cleanup if they no longer have outstanding references.
      Specified by:
      release in interface ReleasableLivenessManager