Author: rgodfrey
Date: Wed Jun 27 19:54:40 2012
New Revision: 1354695
URL: http://svn.apache.org/viewvc?rev=1354695&view=rev
Log:
NO-JIRA : [Proton-j] fix settle before transfer
Modified:
qpid/proton/trunk/proton-j/jproton.py
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportImpl.java
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportSession.java
Modified: qpid/proton/trunk/proton-j/jproton.py
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/jproton.py?rev=1354695&r1=1354694&r2=1354695&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/jproton.py (original)
+++ qpid/proton/trunk/proton-j/jproton.py Wed Jun 27 19:54:40 2012
@@ -200,6 +200,9 @@ def pn_disposition(d, p):
d.disposition(Accepted.getInstance())
+def pn_remote_settled(d):
+ return d.remotelySettled()
+
def pn_remote_disp(d):
if(d.getRemoteState() == Accepted.getInstance()):
return PN_ACCEPTED
Modified:
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/DeliveryImpl.java?rev=1354695&r1=1354694&r2=1354695&view=diff
==============================================================================
---
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
(original)
+++
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
Wed Jun 27 19:54:40 2012
@@ -109,6 +109,10 @@ public class DeliveryImpl implements Del
_settled = true;
_link.decrementUnsettled();
setTransportFlag(DELIVERY_STATE_CHANGED);
+ if(_link.current() == this)
+ {
+ _link.advance();
+ }
}
DeliveryImpl getLinkNext()
Modified:
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportImpl.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportImpl.java?rev=1354695&r1=1354694&r2=1354695&view=diff
==============================================================================
---
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportImpl.java
(original)
+++
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportImpl.java
Wed Jun 27 19:54:40 2012
@@ -324,6 +324,10 @@ public class TransportImpl extends Endpo
transfer.setDeliveryId(deliveryId);
transfer.setDeliveryTag(new Binary(delivery.getTag()));
transfer.setHandle(transportLink.getLocalHandle());
+ if(delivery.isSettled())
+ {
+ transfer.setSettled(Boolean.TRUE);
+ }
if(delivery.getLink().current() == delivery)
{
transfer.setMore(true);
Modified:
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportSession.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportSession.java?rev=1354695&r1=1354694&r2=1354695&view=diff
==============================================================================
---
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportSession.java
(original)
+++
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/engine/impl/TransportSession.java
Wed Jun 27 19:54:40 2012
@@ -245,6 +245,10 @@ class TransportSession
delivery.setComplete();
_incomingWindowSize =
_incomingWindowSize.subtract(UnsignedInteger.ONE);
}
+ if(Boolean.TRUE == transfer.getSettled())
+ {
+ delivery.setRemoteSettled(true);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]