Class Pool.MultiEntry

java.lang.Object
Pool<T>.Entry
org.eclipse.jetty.util.Pool.MultiEntry
Enclosing class:
Pool<T>

class Pool.MultiEntry extends Pool<T>.Entry

A Pool entry that holds metadata and a pooled object, that can be acquired concurrently multiple times, and can be acquired/released multiple times.

  • Field Details

  • Constructor Details

    • MultiEntry

      MultiEntry()
  • Method Details

    • setUsageCount

      void setUsageCount(int usageCount)
      Overrides:
      setUsageCount in class Pool<T>.Entry
    • tryEnable

      protected boolean tryEnable(boolean acquire)
      Description copied from class: Pool.Entry

      Tries to enable, and possible also acquire, this Entry.

      Specified by:
      tryEnable in class Pool<T>.Entry
      Parameters:
      acquire - whether to also acquire this Entry
      Returns:
      whether this Entry was enabled
    • tryAcquire

      boolean tryAcquire()

      Tries to acquire the entry if possible by incrementing both the usage count and the multiplex count.

      Specified by:
      tryAcquire in class Pool<T>.Entry
      Returns:
      true if the usage count is less than Pool.getMaxUsageCount() and the multiplex count is less than Pool.getMaxMultiplex(Object) and the entry is not closed, false otherwise.
    • tryRelease

      boolean tryRelease()

      Tries to release the entry if possible by decrementing the multiplex count unless the entity is closed.

      Specified by:
      tryRelease in class Pool<T>.Entry
      Returns:
      true if the entry was released, false if tryRemove() should be called.
    • tryRemove

      boolean tryRemove()

      Tries to remove the entry by marking it as closed and decrementing the multiplex counter.

      The multiplex counter will never go below zero and if it reaches zero, the entry is considered removed.

      Specified by:
      tryRemove in class Pool<T>.Entry
      Returns:
      true if the entry can be removed from the containing pool, false otherwise.
    • isClosed

      public boolean isClosed()
      Specified by:
      isClosed in class Pool<T>.Entry
      Returns:
      whether this Entry is closed
    • isReserved

      public boolean isReserved()
      Specified by:
      isReserved in class Pool<T>.Entry
      Returns:
      whether this Entry is reserved
    • isIdle

      public boolean isIdle()
      Specified by:
      isIdle in class Pool<T>.Entry
      Returns:
      whether this Entry is idle
    • isInUse

      public boolean isInUse()
      Specified by:
      isInUse in class Pool<T>.Entry
      Returns:
      whether this entry is in use.
    • isOverUsed

      public boolean isOverUsed()
      Overrides:
      isOverUsed in class Pool<T>.Entry
      Returns:
      whether this entry has been used beyond Pool.getMaxUsageCount()
    • isIdleAndOverUsed

      boolean isIdleAndOverUsed()
      Overrides:
      isIdleAndOverUsed in class Pool<T>.Entry
    • getUsageCount

      int getUsageCount()
      Overrides:
      getUsageCount in class Pool<T>.Entry
    • toString

      public String toString()
      Overrides:
      toString in class Object