Class ArrayAllocator
- java.lang.Object
-
- org.simpleframework.common.buffer.ArrayAllocator
-
- All Implemented Interfaces:
Allocator
public class ArrayAllocator extends java.lang.Object implements Allocator
TheArrayAllocator
object is used to provide a means to allocate buffers using a single byte array. This essentially uses the heap to allocate all buffers. As a result the performance of the resulting buffers is good, however for very large buffers this will use quote allot of the usable heap space. For very large buffers a mapped region of shared memory of a file should be considered.- Author:
- Niall Gallagher
-
-
Constructor Summary
Constructors Constructor Description ArrayAllocator()
Constructor for theArrayAllocator
object.ArrayAllocator(int size)
Constructor for theArrayAllocator
object.ArrayAllocator(int size, int limit)
Constructor for theArrayAllocator
object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Buffer
allocate()
This method is used to allocate a default buffer.Buffer
allocate(long size)
This method is used to allocate a default buffer.
-
-
-
Constructor Detail
-
ArrayAllocator
public ArrayAllocator()
Constructor for theArrayAllocator
object. This is used to instantiate the allocator with a default buffer size of half a kilobyte. This ensures that it can be used for general purpose byte storage and for minor I/O tasks.
-
ArrayAllocator
public ArrayAllocator(int size)
Constructor for theArrayAllocator
object. This is used to instantiate the allocator with a specified buffer size. This is typically used when a very specific buffer capacity is required, for example a request body with a known length.- Parameters:
size
- the initial capacity of the allocated buffers
-
ArrayAllocator
public ArrayAllocator(int size, int limit)
Constructor for theArrayAllocator
object. This is used to instantiate the allocator with a specified buffer size. This is typically used when a very specific buffer capacity is required, for example a request body with a known length.- Parameters:
size
- the initial capacity of the allocated bufferslimit
- this is the maximum buffer size created by this
-
-
Method Detail
-
allocate
public Buffer allocate() throws java.io.IOException
This method is used to allocate a default buffer. This will allocate a buffer of predetermined size, allowing it to grow to an upper limit to accommodate extra data. If the buffer requested is larger than the limit an exception is thrown.
-
allocate
public Buffer allocate(long size) throws java.io.IOException
This method is used to allocate a default buffer. This will allocate a buffer of predetermined size, allowing it to grow to an upper limit to accommodate extra data. If the buffer requested is larger than the limit an exception is thrown.
-
-