Package org.glassfish.grizzly.memory
Interface ThreadLocalPool<E>
-
- Type Parameters:
E
- Type of Buffer that will be created
public interface ThreadLocalPool<E>
A thread local pool used by aMemoryManager
to create and modify Buffers
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description E
allocate(int size)
Creates a buffer with a given capacity and limitboolean
hasRemaining()
Whether there are elements between the current position and the endboolean
isLastAllocated(E oldBuffer)
Whether the last element in the buffer has been setE
reallocate(E oldBuffer, int newSize)
Creates a new Buffer with a set size and assigns it the data that was held in the old one as long as the given size is not smaller than the data held.E
reduceLastAllocated(E buffer)
Reduces the buffer to the last data allocatedboolean
release(E underlyingBuffer)
deallocates the data in the bufferint
remaining()
Gets the number of elements between the current position and the limitvoid
reset(E pool)
Resets the Buffer to empty values and empties the poolboolean
wantReset(int size)
Checks if the size of the Buffer should be reset.
-
-
-
Method Detail
-
reset
void reset(E pool)
Resets the Buffer to empty values and empties the pool- Parameters:
pool
- the buffer to reset
-
allocate
E allocate(int size)
Creates a buffer with a given capacity and limit- Parameters:
size
- maximum number of elements- Returns:
- the new buffer
- See Also:
ByteBuffer.allocate(int)
-
reallocate
E reallocate(E oldBuffer, int newSize)
Creates a new Buffer with a set size and assigns it the data that was held in the old one as long as the given size is not smaller than the data held.- Parameters:
oldBuffer
- Old Buffer containing datanewSize
- The size the new Buffer should be.- Returns:
- the new Buffer or null if the buffer could not be resized
-
release
boolean release(E underlyingBuffer)
deallocates the data in the buffer- Parameters:
underlyingBuffer
- the buffer to release- Returns:
- true if operation successfully completed, false otherwise
-
isLastAllocated
boolean isLastAllocated(E oldBuffer)
Whether the last element in the buffer has been set- Parameters:
oldBuffer
- the buffer to check- Returns:
- true if the end of the buffer has been allocated, false otherwise
-
reduceLastAllocated
E reduceLastAllocated(E buffer)
Reduces the buffer to the last data allocated- Parameters:
buffer
-- Returns:
- the old buffer data that was removed. This may be null.
-
wantReset
boolean wantReset(int size)
Checks if the size of the Buffer should be reset.- Parameters:
size
- the desired size of the buffer. If this is less than the current size ofthe buffer then this will return false- Returns:
- true if the the buffer should be enlarged to hold the desired size
-
remaining
int remaining()
Gets the number of elements between the current position and the limit- Returns:
- number of elements
-
hasRemaining
boolean hasRemaining()
Whether there are elements between the current position and the end- Returns:
- true if there are unused elements, false otherwise
-
-