directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niklas Therning (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRMINA-146) ByteBuffer.wrap(byte[] n, int offset, int length) calls clear() on the wrapped NIO buffer
Date Sat, 17 Dec 2005 11:49:35 GMT
ByteBuffer.wrap(byte[] n, int offset, int length) calls clear() on the wrapped NIO buffer
-----------------------------------------------------------------------------------------

         Key: DIRMINA-146
         URL: http://issues.apache.org/jira/browse/DIRMINA-146
     Project: Directory MINA
        Type: Bug
    Versions: 0.9    
    Reporter: Niklas Therning
     Fix For: 0.9.1


clear() is called on the underlying NIO buffer wrapping the byte array. The consequence is
that the position is set to 0 and the limit is set to capacity (the length of the wrapped
array). Since this method should behave exactly as the NIO ByteBuffer equivalent the position
should be set to offset and the limit should be set to offset+length.

Whenever an existing NIO ByteBuffer is wrapped in a MINA ByteBuffer the NIO buffer is cleared.
That may not always be desirable. I suggest that the call to clear() is removed from DefaultByteBuffer.init().
That would take care of the bug described above. If the user wishes to wrap an NIO buffer
she would have to make sure it is cleared if that is desired.

NOTE: This isn't a problem in MINA 0.8. clear() isn't called on the wrapped NIO buffer in
DefaultByteBuffer.init(). Does anyone know why this was introduced in 0.9?


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message