Author: elecharny
Date: Mon Dec 12 23:01:22 2011
New Revision: 1213488

URL: http://svn.apache.org/viewvc?rev=1213488&view=rev
Log:
o Use the requested size for the wrap method (this is totally insane, but 
SSLEngine.wrap is expecting a 16Ko buffer. What a piece of crap...)
o Flip the buffer before pushing it into the queue, so that it actually 
contains something...

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/session/SslHelper.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/session/SslHelper.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/session/SslHelper.java?rev=1213488&r1=1213487&r2=1213488&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/session/SslHelper.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/session/SslHelper.java Mon 
Dec 12 23:01:22 2011
@@ -402,9 +402,9 @@ public class SslHelper
         return false;
     }
     
-    public DefaultWriteRequest processWrite(IoSession sessions, Object 
message, Queue<WriteRequest> writeQueue) {
+    public DefaultWriteRequest processWrite(IoSession session, Object message, 
Queue<WriteRequest> writeQueue) {
         ByteBuffer buf = (ByteBuffer)message;
-        ByteBuffer appBuffer = ByteBuffer.allocate(buf.limit() + 50);
+        ByteBuffer appBuffer = 
ByteBuffer.allocate(sslEngine.getSession().getPacketBufferSize());
         
         try {
             while (true) {
@@ -420,17 +420,12 @@ public class SslHelper
                     case CLOSED :
                         break;
                     case OK :
+                        appBuffer.flip();
                         DefaultWriteRequest request = new 
DefaultWriteRequest(appBuffer);
 
                         writeQueue.add(request);
                         return request;
                 }
-                
-                if ( result.getStatus() == 
SSLEngineResult.Status.BUFFER_OVERFLOW ) {
-                    // Increase the buffer size
-                    appBuffer = ByteBuffer.allocate(appBuffer.capacity() + 
4096);
-                } else {
-                }
             }
         } catch (SSLException se) {
             throw new IllegalStateException(se.getMessage());


Reply via email to