Package org.eclipse.jetty.io
Class AbstractByteBufferPool
java.lang.Object
org.eclipse.jetty.io.AbstractByteBufferPool
- All Implemented Interfaces:
ByteBufferPool
- Direct Known Subclasses:
ArrayByteBufferPool
,MappedByteBufferPool
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.ByteBufferPool
ByteBufferPool.Bucket, ByteBufferPool.Lease
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicLong
private final int
private final AtomicLong
private final long
private final long
private final int
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractByteBufferPool
(int factor, int maxQueueLength, long maxHeapMemory, long maxDirectMemory) Creates a new ByteBufferPool with the given configuration. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
protected void
decrementMemory
(ByteBuffer buffer) Deprecated.protected int
long
long
long
long
protected int
long
getMemory
(boolean direct) protected void
incrementMemory
(ByteBuffer buffer) Deprecated.protected void
releaseExcessMemory
(boolean direct, Consumer<Boolean> clearFn) (package private) IntConsumer
updateMemory
(boolean direct) private void
updateMemory
(ByteBuffer buffer, boolean addOrSub) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.io.ByteBufferPool
acquire, newByteBuffer, release, remove
-
Field Details
-
_factor
private final int _factor -
_maxQueueLength
private final int _maxQueueLength -
_maxHeapMemory
private final long _maxHeapMemory -
_maxDirectMemory
private final long _maxDirectMemory -
_heapMemory
-
_directMemory
-
-
Constructor Details
-
AbstractByteBufferPool
protected AbstractByteBufferPool(int factor, int maxQueueLength, long maxHeapMemory, long maxDirectMemory) Creates a new ByteBufferPool with the given configuration.- Parameters:
factor
- the capacity factormaxQueueLength
- the maximum ByteBuffer queue lengthmaxHeapMemory
- the max heap memory in bytes, -1 for unlimited memory or 0 to use default heuristic.maxDirectMemory
- the max direct memory in bytes, -1 for unlimited memory or 0 to use default heuristic.
-
-
Method Details
-
getCapacityFactor
protected int getCapacityFactor() -
getMaxQueueLength
protected int getMaxQueueLength() -
decrementMemory
Deprecated. -
incrementMemory
Deprecated. -
updateMemory
-
releaseExcessMemory
-
getDirectMemory
-
getHeapMemory
-
getMaxDirectMemory
@ManagedAttribute("The max num of bytes that can be retained from direct ByteBuffers") public long getMaxDirectMemory() -
getMaxHeapMemory
@ManagedAttribute("The max num of bytes that can be retained from heap ByteBuffers") public long getMaxHeapMemory() -
getMemory
public long getMemory(boolean direct) -
updateMemory
-
clear
-