You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2012/02/05 14:41:47 UTC

svn commit: r1240728 - /james/server/trunk/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java

Author: norman
Date: Sun Feb  5 13:41:46 2012
New Revision: 1240728

URL: http://svn.apache.org/viewvc?rev=1240728&view=rev
Log:
ImapRequestFrameDecoder should handle big literals more efficient. See JAMES-1370

Modified:
    james/server/trunk/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java

Modified: james/server/trunk/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
URL: http://svn.apache.org/viewvc/james/server/trunk/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java?rev=1240728&r1=1240727&r2=1240728&view=diff
==============================================================================
--- james/server/trunk/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java (original)
+++ james/server/trunk/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java Sun Feb  5 13:41:46 2012
@@ -207,11 +207,13 @@ public class ImapRequestFrameDecoder ext
     @SuppressWarnings("unchecked")
     @Override
     protected ChannelBuffer createCumulationDynamicBuffer(ChannelHandlerContext ctx) {
+        Map<String, Object> attachment = (Map<String, Object>) ctx.getAttachment();
+        int size = (Integer) attachment.get(NEEDED_DATA);
+        
         if (inMemorySizeLimit > 0) {
-            return ChannelBuffers.dynamicBuffer(inMemorySizeLimit, ctx.getChannel().getConfig().getBufferFactory());
+            return ChannelBuffers.dynamicBuffer(Math.min(size, inMemorySizeLimit), ctx.getChannel().getConfig().getBufferFactory());
         } else {
-            Map<String, Object> attachment = (Map<String, Object>) ctx.getAttachment();
-            int size = (Integer) attachment.get(NEEDED_DATA);
+
             if (size > 0) {
                 return ChannelBuffers.dynamicBuffer(size, ctx.getChannel().getConfig().getBufferFactory());
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org