|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface MemoryManager<E extends Buffer>
MemoryManager, responsible for allocating and releasing memory,
required during application runtime.
MemoryManager implementations work with Grizzly Buffers.
Buffer| Field Summary | |
|---|---|
static MemoryManager |
DEFAULT_MEMORY_MANAGER
The default MemoryManager implementation used by all created builder
instances. |
| Method Summary | |
|---|---|
E |
allocate(int size)
Allocated Buffer of the required size. |
E |
allocateAtLeast(int size)
Allocated Buffer at least of the provided size. |
E |
reallocate(E oldBuffer,
int newSize)
Reallocate Buffer to a required size. |
void |
release(E buffer)
Release Buffer. |
boolean |
willAllocateDirect(int size)
Return true if next allocate(int) or allocateAtLeast(int) call,
made in the current thread for the give memory size, going to return a Buffer based
on direct ByteBuffer, or false otherwise. |
| Methods inherited from interface org.glassfish.grizzly.monitoring.jmx.JmxMonitoringAware |
|---|
getMonitoringConfig |
| Field Detail |
|---|
static final MemoryManager DEFAULT_MEMORY_MANAGER
The default MemoryManager implementation used by all created builder
instances.
This may be updated with an alternate MemoryManager implementation
if so desired.
| Method Detail |
|---|
E allocate(int size)
Buffer of the required size.
size - Buffer size to be allocated.
Buffer.E allocateAtLeast(int size)
Buffer at least of the provided size.
This could be useful for usecases like Socket.read(...), where
we're not sure how many bytes are available, but want to read as
much as possible.
size - the min Buffer size to be allocated.
Buffer.
E reallocate(E oldBuffer,
int newSize)
Buffer to a required size.
Implementation may choose the way, how reallocation could be done, either
by allocating new Buffer of required size and copying old
Buffer content there, or perform more complex logic related to
memory pooling etc.
oldBuffer - old Buffer to be reallocated.newSize - new Buffer required size.
Buffer.void release(E buffer)
Buffer.
Implementation may ignore releasing and let JVM Garbage collector to take
care about the Buffer, or return Buffer to pool, in case
of more complex MemoryManager implementation.
buffer - Buffer to be released.boolean willAllocateDirect(int size)
allocate(int) or allocateAtLeast(int) call,
made in the current thread for the give memory size, going to return a Buffer based
on direct ByteBuffer, or false otherwise.
size -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||