Author: gsim
Date: Wed Jul 16 14:09:41 2014
New Revision: 1611016
URL: http://svn.apache.org/r1611016
Log:
QPID-5850: Support for long session names (patch from Ernie Allen)
Modified:
qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/management-schema.xml
qpid/trunk/qpid/python/qpid/disp.py
qpid/trunk/qpid/tools/src/py/qpidtoollibs/disp.py
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp?rev=1611016&r1=1611015&r2=1611016&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp Wed Jul 16 14:09:41
2014
@@ -69,8 +69,12 @@ void SessionState::addManagementObject()
if (parent != 0) {
ManagementAgent* agent = getBroker().getManagementAgent();
if (agent != 0) {
- mgmtObject = _qmf::Session::shared_ptr(new _qmf::Session
- (agent, this, parent, getId().getName()));
+ std::string name(getId().getName());
+ std::string fullName(name);
+ if (name.length() >= std::numeric_limits<uint8_t>::max())
+ name.resize(std::numeric_limits<uint8_t>::max()-1);
+ mgmtObject = _qmf::Session::shared_ptr(new _qmf::Session
(agent, this, parent, name));
+ mgmtObject->set_fullName (fullName);
mgmtObject->set_attached (0);
mgmtObject->set_detachedLifespan (0);
mgmtObject->clr_expireTime();
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp?rev=1611016&r1=1611015&r2=1611016&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp Wed Jul 16
14:09:41 2014
@@ -36,7 +36,12 @@ ManagedSession::ManagedSession(Broker& b
{
qpid::management::ManagementAgent* agent = broker.getManagementAgent();
if (agent != 0) {
- session = _qmf::Session::shared_ptr(new _qmf::Session(agent, this,
broker.GetVhostObject(), id));
+ std::string name(id);
+ std::string fullName(name);
+ if (name.length() >= std::numeric_limits<uint8_t>::max())
+ name.resize(std::numeric_limits<uint8_t>::max()-1);
+ session = _qmf::Session::shared_ptr(new _qmf::Session(agent, this,
broker.GetVhostObject(), name));
+ session->set_fullName(fullName);
session->set_attached(true);
session->set_detachedLifespan(0);
session->clr_expireTime();
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/management-schema.xml
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/management-schema.xml?rev=1611016&r1=1611015&r2=1611016&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/management-schema.xml (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/management-schema.xml Wed Jul 16
14:09:41 2014
@@ -530,6 +530,7 @@
<class name="Session">
<property name="vhostRef" type="objId" references="Vhost"
access="RC" index="y" parentRef="y"/>
<property name="name" type="sstr" access="RC" index="y"/>
+ <property name="fullName" type="lstr" access="RO" optional="y"/>
<property name="channelId" type="uint16" access="RO"/>
<property name="connectionRef" type="objId" references="Connection"
access="RO"/>
<property name="detachedLifespan" type="uint32" access="RO"
unit="second"/>
Modified: qpid/trunk/qpid/python/qpid/disp.py
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/disp.py?rev=1611016&r1=1611015&r2=1611016&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/disp.py (original)
+++ qpid/trunk/qpid/python/qpid/disp.py Wed Jul 16 14:09:41 2014
@@ -151,8 +151,8 @@ class Display:
print line
line = self.tablePrefix
for width in colWidth:
- for i in range (width):
- line = line + "="
+ line = line + "=" * width
+ line = line[:255]
print line
for row in rows:
Modified: qpid/trunk/qpid/tools/src/py/qpidtoollibs/disp.py
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/py/qpidtoollibs/disp.py?rev=1611016&r1=1611015&r2=1611016&view=diff
==============================================================================
--- qpid/trunk/qpid/tools/src/py/qpidtoollibs/disp.py (original)
+++ qpid/trunk/qpid/tools/src/py/qpidtoollibs/disp.py Wed Jul 16 14:09:41 2014
@@ -182,8 +182,8 @@ class Display:
print line
line = self.tablePrefix
for width in colWidth:
- for i in range (width):
- line = line + "="
+ line = line + "=" * width
+ line = line[:255]
print line
for row in rows:
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]