Author: norman
Date: Fri Jan 27 19:35:04 2012
New Revision: 1236852

URL: http://svn.apache.org/viewvc?rev=1236852&view=rev
Log:
More efficient transfer to temporary file

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=1236852&r1=1236851&r2=1236852&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
 Fri Jan 27 19:35:04 2012
@@ -23,7 +23,6 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.HashMap;
 import java.util.Map;
@@ -35,7 +34,6 @@ import org.apache.james.imap.api.process
 import org.apache.james.imap.decode.ImapDecoder;
 import org.apache.james.imap.decode.ImapRequestLineReader;
 import org.jboss.netty.buffer.ChannelBuffer;
-import org.jboss.netty.buffer.ChannelBufferInputStream;
 import org.jboss.netty.buffer.ChannelBuffers;
 import org.jboss.netty.channel.Channel;
 import org.jboss.netty.channel.ChannelFutureListener;
@@ -110,21 +108,13 @@ public class ImapRequestFrameDecoder ext
 
                     }
 
-                    InputStream bufferIn = null;
                     OutputStream out = null;
+
                     try {
-                        bufferIn = new ChannelBufferInputStream(buffer);
                         out = new FileOutputStream(f, true);
-
-                        // write the needed data to the file
-                        int i = -1;
-                        while (written < size && (i = bufferIn.read()) != -1) {
-                            out.write(i);
-                            written++;
-                        }
+                        buffer.readBytes(out, buffer.readableBytes());
 
                     } finally {
-                        IOUtils.closeQuietly(bufferIn);
                         IOUtils.closeQuietly(out);
                     }
                     // Check if all needed data was streamed to the file.



---------------------------------------------------------------------
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