Class ProtonByteArrayBufferAllocator
- All Implemented Interfaces:
AutoCloseable
,ProtonBufferAllocator
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionallocate()
Create a new ProtonBuffer instance with default initial capacity.allocate
(int initialCapacity) Create a new ProtonBuffer instance with the given initial capacity and the implicit growth limit should be that of the underlying buffer implementations maximum capacity limit.Create a new ProtonBuffer instance with default initial capacity.allocateHeapBuffer
(int initialCapacity) Create a new ProtonBuffer instance with the given initial capacity and the implicit growth limit should be that of the underlying buffer implementations maximum capacity limit.static final ProtonBufferAllocator
void
close()
Creates a new composite buffer instance that uses this allocator to create new backing space when the buffer writes exceed capacity or the ensure writable space API is used.composite
(ProtonBuffer buffer) Creates a new composite buffer instance that uses this allocator to create new backing space when the buffer writes exceed capacity or the ensure writable space API is used.composite
(ProtonBuffer[] buffers) Creates a new composite buffer instance that uses this allocator to create new backing space when the buffer writes exceed capacity or the ensure writable space API is used.copy
(byte[] array, int offset, int length) Create a new ProtonBuffer that copies the given byte array using the provided offset and length values to confine the view of that array.outputBuffer
(int initialCapacity) Create a new output ProtonBuffer instance with the given initial capacity and the implicit growth capacity should be that of the underlying buffer implementations limit.wrap
(byte[] array, int offset, int length) Shallow copy of the given array segment used when the caller knows that they will not share the bytes wrapped with any other application code.static ProtonBuffer
wrapped
(byte[] array) Shallow copy of the given array segment used when the caller knows that they will not share the bytes wrapped with any other application code.static ProtonBuffer
wrapped
(byte[] array, int offset, int length) Shallow copy of the given array segment used when the caller knows that they will not share the bytes wrapped with any other application code.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.qpid.protonj2.buffer.ProtonBufferAllocator
copy
-
Constructor Details
-
ProtonByteArrayBufferAllocator
public ProtonByteArrayBufferAllocator()
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceProtonBufferAllocator
-
allocator
-
outputBuffer
Description copied from interface:ProtonBufferAllocator
Create a new output ProtonBuffer instance with the given initial capacity and the implicit growth capacity should be that of the underlying buffer implementations limit. The buffer implementation should support growing the buffer on an as needed basis to allow writes without the user needing to code extra capacity and buffer reallocation checks.The returned buffer will be used for frame output from the Proton engine and can be a pooled buffer which the IO handler will then need to release once the buffer has been written.
- Specified by:
outputBuffer
in interfaceProtonBufferAllocator
- Parameters:
initialCapacity
- The initial capacity to use when creating the new ProtonBuffer.- Returns:
- a new ProtonBuffer instance with the given initial capacity.
-
allocate
Description copied from interface:ProtonBufferAllocator
Create a new ProtonBuffer instance with default initial capacity. The buffer implementation should support growing the buffer on an as needed basis to allow writes without the user needing to code extra capacity and buffer reallocation checks.Proton buffers are closable resources and their life-span requires that they be closed upon reaching their determined end of life.
- Specified by:
allocate
in interfaceProtonBufferAllocator
- Returns:
- a new ProtonBuffer instance with default initial capacity.
-
allocate
Description copied from interface:ProtonBufferAllocator
Create a new ProtonBuffer instance with the given initial capacity and the implicit growth limit should be that of the underlying buffer implementations maximum capacity limit.Proton buffers are closable resources and their life-span requires that they be closed upon reaching their determined end of life.
- Specified by:
allocate
in interfaceProtonBufferAllocator
- Parameters:
initialCapacity
- The initial capacity to use when creating the new ProtonBuffer.- Returns:
- a new ProtonBuffer instance with the given initial capacity.
-
allocateHeapBuffer
Description copied from interface:ProtonBufferAllocator
Create a new ProtonBuffer instance with default initial capacity. The buffer implementation should support growing the buffer on an as needed basis to allow writes without the user needing to code extra capacity and buffer reallocation checks. The buffer allocated must be a heap buffer for cases where the buffered resource may not be easily closed and must revert to GC reclaim semantics.Proton buffers are closable resources and their life-span requires that they be closed upon reaching their determined end of life.
- Specified by:
allocateHeapBuffer
in interfaceProtonBufferAllocator
- Returns:
- a new ProtonBuffer instance with default initial capacity.
-
allocateHeapBuffer
Description copied from interface:ProtonBufferAllocator
Create a new ProtonBuffer instance with the given initial capacity and the implicit growth limit should be that of the underlying buffer implementations maximum capacity limit. The buffer allocated must be a heap buffer for cases where the buffered resource may not be easily closed and must revert to GC reclaim semantics.Proton buffers are closable resources and their life-span requires that they be closed upon reaching their determined end of life.
- Specified by:
allocateHeapBuffer
in interfaceProtonBufferAllocator
- Parameters:
initialCapacity
- The initial capacity to use when creating the new ProtonBuffer.- Returns:
- a new ProtonBuffer instance with the given initial capacity.
-
copy
Description copied from interface:ProtonBufferAllocator
Create a new ProtonBuffer that copies the given byte array using the provided offset and length values to confine the view of that array.The initial capacity of the buffer should be that of the length of the wrapped array. The returned buffer can be expanded using the normal write or expand methods. The write offset of the returned buffer will be set to the capacity.
Changes to the input buffer after calling this method will not affect the contents of the returned buffer copy.
- Specified by:
copy
in interfaceProtonBufferAllocator
- Parameters:
array
- the byte array to copy.offset
- the offset into the array where the view begins.length
- the number of bytes in the array to expose- Returns:
- a new
ProtonBuffer
that is a copy of the given array.
-
wrap
Shallow copy of the given array segment used when the caller knows that they will not share the bytes wrapped with any other application code.- Parameters:
array
- The array that should be wrappedoffset
- The offset into the array where the wrapper startslength
- The number of bytes that will be represented in the span.- Returns:
- A
ProtonBuffer
that wraps the given array bytes.
-
composite
Description copied from interface:ProtonBufferAllocator
Creates a new composite buffer instance that uses this allocator to create new backing space when the buffer writes exceed capacity or the ensure writable space API is used. The created buffer will be empty and can be expanded with the normal buffer API or extended with the addition of buffers.- Specified by:
composite
in interfaceProtonBufferAllocator
- Returns:
- a new empty composite buffer instance.
-
composite
Description copied from interface:ProtonBufferAllocator
Creates a new composite buffer instance that uses this allocator to create new backing space when the buffer writes exceed capacity or the ensure writable space API is used. The created buffer will be composed of the given sequence of buffers.- Specified by:
composite
in interfaceProtonBufferAllocator
- Parameters:
buffer
- the buffers to compose- Returns:
- a new composite buffer instance.
-
composite
Description copied from interface:ProtonBufferAllocator
Creates a new composite buffer instance that uses this allocator to create new backing space when the buffer writes exceed capacity or the ensure writable space API is used. The created buffer will be composed of the given sequence of buffers.- Specified by:
composite
in interfaceProtonBufferAllocator
- Parameters:
buffers
- the array of buffers to compose- Returns:
- a new composite buffer instance.
-
wrapped
Shallow copy of the given array segment used when the caller knows that they will not share the bytes wrapped with any other application code.- Parameters:
array
- The array that should be wrapped- Returns:
- A
ProtonBuffer
that wraps the given array bytes.
-
wrapped
Shallow copy of the given array segment used when the caller knows that they will not share the bytes wrapped with any other application code.- Parameters:
array
- The array that should be wrappedoffset
- The offset into the array where the wrapper startslength
- The number of bytes that will be represented in the span.- Returns:
- A
ProtonBuffer
that wraps the given array bytes.
-