You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2012/11/19 09:33:05 UTC
svn commit: r1411098 - in /qpid/proton/trunk:
proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
tests/proton_tests/engine.py
Author: rgodfrey
Date: Mon Nov 19 08:33:04 2012
New Revision: 1411098
URL: http://svn.apache.org/viewvc?rev=1411098&view=rev
Log:
PROTON-141 : Fix bug in large message transfers
Modified:
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
qpid/proton/trunk/tests/proton_tests/engine.py
Modified: qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java?rev=1411098&r1=1411097&r2=1411098&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java (original)
+++ qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java Mon Nov 19 08:33:04 2012
@@ -181,7 +181,7 @@ public class TransportImpl extends Endpo
_overflowBuffer.get(bytes, offset, overflowWritten);
written+=overflowWritten;
}
- if(!_overflowBuffer.hasRemaining())
+ else if(!_overflowBuffer.hasRemaining())
{
_overflowBuffer.clear();
@@ -203,10 +203,10 @@ public class TransportImpl extends Endpo
written += processEnd(outputBuffer);
written += processClose(outputBuffer);
_overflowBuffer.flip();
+ written -= _overflowBuffer.remaining();
}
-
- return written - _overflowBuffer.remaining();
+ return written;
}
public Sasl sasl()
Modified: qpid/proton/trunk/tests/proton_tests/engine.py
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/tests/proton_tests/engine.py?rev=1411098&r1=1411097&r2=1411098&view=diff
==============================================================================
--- qpid/proton/trunk/tests/proton_tests/engine.py (original)
+++ qpid/proton/trunk/tests/proton_tests/engine.py Mon Nov 19 08:33:04 2012
@@ -656,6 +656,33 @@ class MaxFrameTransferTest(Test):
bytes = self.rcv.recv(1024)
assert bytes == None
+
+ def testBigMessage(self):
+ """
+ Test transfering a big message.
+ """
+ self.snd, self.rcv = self.link("test-link")
+ self.c1 = self.snd.session.connection
+ self.c2 = self.rcv.session.connection
+ self.snd.open()
+ self.rcv.open()
+ self.pump()
+
+ self.rcv.flow(2)
+ self.snd.delivery("tag")
+ msg = self.message(1024*256)
+ n = self.snd.send(msg)
+ assert n == len(msg)
+ assert self.snd.advance()
+
+ self.pump()
+
+ bytes = self.rcv.recv(1024*256)
+ assert bytes == msg
+
+ bytes = self.rcv.recv(1024)
+ assert bytes == None
+
class IdleTimeoutTest(Test):
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org