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]