Author: rgodfrey
Date: Thu Oct 18 13:46:49 2012
New Revision: 1399663

URL: http://svn.apache.org/viewvc?rev=1399663&view=rev
Log:
PROTON-88 : Local handle allocation in proton-j

Modified:
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java

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=1399663&r1=1399662&r2=1399663&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
 Thu Oct 18 13:46:49 2012
@@ -577,8 +577,7 @@ public class TransportImpl extends Endpo
 
                             SessionImpl session = link.getSession();
                             TransportSession transportSession = 
getTransportState(session);
-                            UnsignedInteger localHandle = 
transportSession.allocateLocalHandle();
-                            transportLink.setLocalHandle(localHandle);
+                            UnsignedInteger localHandle = 
transportSession.allocateLocalHandle(transportLink);
 
                             if(link.getRemoteState() == 
EndpointState.UNINITIALIZED)
                             {

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java?rev=1399663&r1=1399662&r2=1399663&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
 Thu Oct 18 13:46:49 2012
@@ -159,13 +159,16 @@ class TransportSession
         return _remoteHandleMap[handle.intValue()];
     }
 
-    public UnsignedInteger allocateLocalHandle()
+    public UnsignedInteger allocateLocalHandle(TransportLink transportLink)
     {
         for(int i = 0; i < _localHandleMap.length; i++)
         {
             if(_localHandleMap[i] == null)
             {
-                return UnsignedInteger.valueOf(i);
+                UnsignedInteger rc = UnsignedInteger.valueOf(i);
+                _localHandleMap[i] = transportLink;
+                transportLink.setLocalHandle(rc);
+                return rc;
             }
         }
         // TODO - error



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to