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