Package org.eclipse.jetty.util
Class Pool.MultiEntry
- java.lang.Object
-
- org.eclipse.jetty.util.Pool.Entry
-
- org.eclipse.jetty.util.Pool.MultiEntry
-
class Pool.MultiEntry extends Pool.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 Summary
Fields Modifier and Type Field Description private AtomicBiInteger
state
-
Constructor Summary
Constructors Constructor Description MultiEntry()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
getUsageCount()
boolean
isClosed()
boolean
isIdle()
(package private) boolean
isIdleAndOverUsed()
boolean
isInUse()
boolean
isOverUsed()
boolean
isReserved()
(package private) void
setUsageCount(int usageCount)
java.lang.String
toString()
(package private) boolean
tryAcquire()
Tries to acquire the entry if possible by incrementing both the usage count and the multiplex count.protected boolean
tryEnable(boolean acquire)
Tries to enable, and possible also acquire, this Entry.(package private) boolean
tryRelease()
Tries to release the entry if possible by decrementing the multiplex count unless the entity is closed.(package private) boolean
tryRemove()
Tries to remove the entry by marking it as closed and decrementing the multiplex counter.-
Methods inherited from class org.eclipse.jetty.util.Pool.Entry
enable, getPooled, release, remove
-
-
-
-
Field Detail
-
state
private final AtomicBiInteger state
-
-
Method Detail
-
setUsageCount
void setUsageCount(int usageCount)
- Overrides:
setUsageCount
in classPool.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 classPool.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 classPool.Entry
- Returns:
- true if the usage count is less than
Pool.getMaxUsageCount()
and the multiplex count is less thanPool.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 classPool.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 classPool.Entry
- Returns:
- true if the entry can be removed from the containing pool, false otherwise.
-
isClosed
public boolean isClosed()
- Specified by:
isClosed
in classPool.Entry
- Returns:
- whether this Entry is closed
-
isReserved
public boolean isReserved()
- Specified by:
isReserved
in classPool.Entry
- Returns:
- whether this Entry is reserved
-
isIdle
public boolean isIdle()
- Specified by:
isIdle
in classPool.Entry
- Returns:
- whether this Entry is idle
-
isInUse
public boolean isInUse()
- Specified by:
isInUse
in classPool.Entry
- Returns:
- whether this entry is in use.
-
isOverUsed
public boolean isOverUsed()
- Overrides:
isOverUsed
in classPool.Entry
- Returns:
- whether this entry has been used beyond
Pool.getMaxUsageCount()
-
isIdleAndOverUsed
boolean isIdleAndOverUsed()
- Overrides:
isIdleAndOverUsed
in classPool.Entry
-
getUsageCount
int getUsageCount()
- Overrides:
getUsageCount
in classPool.Entry
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-