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)