directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Andersson <>
Subject Re: [mina] ByteBuffer allocation
Date Thu, 03 Feb 2005 14:44:42 GMT

>> - case 1) where i call session.write(), where would be the best place 
>> to
>>    release allocated ByteBuffer?
> You don't need to release it because MINA releases it for you. :)


>> - for case 2) I allocate a new buffer, since the encrypted data may be
>> larger
>>    that the provided ByteBuffer. Where would be the best place to
>> release allocated
>>    ByteBuffer in this case?
> You don't need to release it, either.  But I forgot to release old
> buffer (the one passes as a parameter).  I'll fix it.


>> I guess the best solution would be (for case 2) to make sure Mina
>> allokates buffers
>> of a configurable size, somehough? But for case 1) I have to allocate
>> and release
>> ByteBuffers...
> MINA can create ByteBuffer with max 8KB.  So if you encrypt 8KB
> ByteBuffer, you might not be able to allocate which fits with the
> encrypted data.  I'll have to make ByteBuffer.allocate can allocate
> more bigger buffers.

Great. The buffers used by SSLEngine must be sized appropriately to 
hold the
maximum record that can be produced. Calls to 
and SSLSession.getApplicationBufferSize() should be used to determine 
appropriate buffer sizes. I'm not sure, but I beleive it's 16KB in my 

>> One thing that could help, might be to provide a method in
>> org.apache.mina.common.ByteBuffers
>> that allows me to create a org.apache.mina.common.ByteBuffer from a
>> java.nio.ByteBuffer.
>> This would *not* use the cache/stacks provided, but allow me to create
>> a Mina-style
>> ByteBuffer from a java.nio.ByteBuffer (that is allocated/released by
>> me).
> Is there any reason that you need to wrap java.nio.ByteBuffer?  Could
> you explain about this a little more?

No, ignore this for now ;)


View raw message