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.

Reply via email to