You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2010/03/24 12:52:43 UTC
svn commit: r927019 - in /httpcomponents/httpcore/trunk/httpcore-nio/src:
main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java
test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java
Author: olegk
Date: Wed Mar 24 11:52:43 2010
New Revision: 927019
URL: http://svn.apache.org/viewvc?rev=927019&view=rev
Log:
Make sure decoder returns -1 if set to completed and no bytes have been read
Modified:
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java?rev=927019&r1=927018&r2=927019&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.java Wed Mar 24 11:52:43 2010
@@ -103,7 +103,11 @@ public class LengthDelimitedDecoder exte
if (this.len >= this.contentLength) {
this.completed = true;
}
- return bytesRead;
+ if (this.completed && bytesRead == 0) {
+ return -1;
+ } else {
+ return bytesRead;
+ }
}
public long transfer(
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java?rev=927019&r1=927018&r2=927019&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/impl/nio/codecs/TestLengthDelimitedDecoder.java Wed Mar 24 11:52:43 2010
@@ -523,7 +523,7 @@ public class TestLengthDelimitedDecoder
ByteBuffer dst = ByteBuffer.allocate(1024);
int bytesRead = decoder.read(dst);
- assertEquals(0, bytesRead);
+ assertEquals(-1, bytesRead);
assertTrue(decoder.isCompleted());
assertEquals(0, metrics.getBytesTransferred());
}