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]

Reply via email to