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());