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-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to