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: [email protected]
For additional commands, e-mail: [email protected]