Emmanuel Lecharny created DIRMINA-1105:
------------------------------------------

             Summary: SSLHandler buffer handling
                 Key: DIRMINA-1105
                 URL: https://issues.apache.org/jira/browse/DIRMINA-1105
             Project: MINA
          Issue Type: Improvement
    Affects Versions: 2.0.21, 2.1.1
            Reporter: Emmanuel Lecharny


The {{SSLEngine.wrap()}} method requires the provided buffer to be 'big enough' 
to contain any kind of *SSL/TLS* message. That means 16921 bytes. The way it's 
implemented is that we allocate such a buffer every time we need to call the 
{{wrap}}  method, then we copy the result into a smaller buffer that is 
injected into thee write queue.

This is quite ineficient. It would rather be a better idea to use a Thread 
Local Storage buffer when calling the {{wrap}}  method, and copy the content 
into a temporary buffer.

Another optimization could be to concatenate the successive calls to the 
{{wrap}} method into a single  buffer, that will be sent in one shot (it's 
frequent that more than one call to {{wrap}} is needed during the handshake).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to