You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2019/04/12 13:07:01 UTC

[jira] [Created] (DIRMINA-1105) SSLHandler buffer handling

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)