Initialise return ByteBuffer from PoolByteBufferAllokator with 0
----------------------------------------------------------------
Key: DIRMINA-622
URL: https://issues.apache.org/jira/browse/DIRMINA-622
Project: MINA
Issue Type: Improvement
Components: Core
Affects Versions: 1.1.7
Reporter: Stefan Gmeiner
Priority: Trivial
A ByteBuffer returned by calling ByteBuffer.allocate() on a
PooledByteBufferAllocator is not guarenteed to be initialised to 0 as it would
be if a SimpleByteBufferAllocator was used.
The java equivalent java.nio.ByteBuffers are always initialised with 0 hence
the MINA variant should also follow this convention independent if
PooledByteBufferAllocator was used or not.
import org.apache.mina.common.ByteBuffer;
public class PooledByteBufferTest {
public static void main(String[] args) {
ByteBuffer.setAllocator(new PooledByteBufferAllocator());
ByteBuffer buffer1 = ByteBuffer.allocate(100);
System.out.println("buffer1[0]=" + buffer1.getInt(0)); // prints 0
buffer1.putInt(42);
System.out.println("buffer1[0]=" + buffer1.getInt(0)); // prints
42
buffer1.release();
ByteBuffer buffer2 = ByteBuffer.allocate(100);
System.out.println("buffer1[0]=" + buffer2.getInt(0)); // prints
42 instead of 0
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.