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/01/27 20:35:05 UTC
svn commit: r1236852 -
/james/server/trunk/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapRequestFrameDecoder.java
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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org