You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2010/04/23 23:00:11 UTC
svn commit: r937516 - in /qpid/trunk/qpid: cpp/src/ cpp/src/qpid/broker/
cpp/src/qpid/cluster/ cpp/src/qpid/management/ extras/qmf/src/py/qmf/
Author: tross
Date: Fri Apr 23 21:00:10 2010
New Revision: 937516
URL: http://svn.apache.org/viewvc?rev=937516&view=rev
Log:
Code cleanup
- Removed IdAllocator (it's no longer needed)
- Cleaned up the calls to ManagementAgent::addObject to handle durable objects
- Removed the deferred call to addObject for durable objects
- Removed unneeded calls to self._checkClosed() in qmf.console.Agent
Removed:
qpid/trunk/qpid/cpp/src/qpid/management/IdAllocator.h
Modified:
qpid/trunk/qpid/cpp/src/Makefile.am
qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/System.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp
qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp
qpid/trunk/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp
qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp
qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h
qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py
Modified: qpid/trunk/qpid/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/Makefile.am?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/src/Makefile.am Fri Apr 23 21:00:10 2010
@@ -639,7 +639,6 @@ libqpidbroker_la_SOURCES = \
qpid/broker/TxPublish.h \
qpid/broker/Vhost.cpp \
qpid/broker/Vhost.h \
- qpid/management/IdAllocator.h \
qpid/management/ManagementAgent.cpp \
qpid/management/ManagementAgent.h \
qpid/management/ManagementDirectExchange.cpp \
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Fri Apr 23 21:00:10 2010
@@ -185,7 +185,7 @@ Broker::Broker(const Broker::Options& co
else
mgmtObject->clr_dataDir();
- managementAgent->addObject(mgmtObject, 0x1000000000000002LL);
+ managementAgent->addObject(mgmtObject, 0, true);
// Since there is currently no support for virtual hosts, a placeholder object
// representing the implied single virtual host is added here to keep the
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp Fri Apr 23 21:00:10 2010
@@ -132,7 +132,7 @@ Exchange::Exchange (const string& _name,
mgmtExchange = new _qmf::Exchange (agent, this, parent, _name);
mgmtExchange->set_durable(durable);
mgmtExchange->set_autoDelete(false);
- agent->addObject (mgmtExchange);
+ agent->addObject(mgmtExchange, 0, durable);
}
}
}
@@ -151,15 +151,7 @@ Exchange::Exchange(const string& _name,
mgmtExchange->set_durable(durable);
mgmtExchange->set_autoDelete(false);
mgmtExchange->set_arguments(ManagementAgent::toMap(args));
- if (!durable) {
- if (name.empty()) {
- agent->addObject (mgmtExchange, 0x1000000000000004LL); // Special default exchange ID
- } else if (name == QPID_MANAGEMENT) {
- agent->addObject (mgmtExchange, 0x1000000000000005LL); // Special management exchange ID
- } else {
- agent->addObject (mgmtExchange, agent->allocateId(this));
- }
- }
+ agent->addObject(mgmtExchange, 0, durable);
}
}
@@ -192,11 +184,6 @@ void Exchange::setAlternate(Exchange::sh
void Exchange::setPersistenceId(uint64_t id) const
{
- if (mgmtExchange != 0 && persistenceId == 0)
- {
- ManagementAgent* agent = broker->getManagementAgent();
- agent->addObject (mgmtExchange, 0x2000000000000000LL + id);
- }
persistenceId = id;
}
@@ -330,20 +317,19 @@ void Exchange::Binding::startManagement(
Broker* broker = parent->getBroker();
if (broker != 0) {
ManagementAgent* agent = broker->getManagementAgent();
- if (agent != 0)
- {
- ManagementObject* mo = queue->GetManagementObject();
- if (mo != 0)
- {
- management::ObjectId queueId = mo->getObjectId();
- mgmtBinding = new _qmf::Binding
- (agent, this, (Manageable*) parent, queueId, key, ManagementAgent::toMap(args));
- if (!origin.empty())
- mgmtBinding->set_origin(origin);
- agent->addObject (mgmtBinding, agent->allocateId(this));
- static_cast<_qmf::Queue*>(mo)->inc_bindingCount();
- }
+ if (agent != 0) {
+ ManagementObject* mo = queue->GetManagementObject();
+ if (mo != 0) {
+ management::ObjectId queueId = mo->getObjectId();
+
+ mgmtBinding = new _qmf::Binding
+ (agent, this, (Manageable*) parent, queueId, key, ManagementAgent::toMap(args));
+ if (!origin.empty())
+ mgmtBinding->set_origin(origin);
+ agent->addObject(mgmtBinding);
+ static_cast<_qmf::Queue*>(mo)->inc_bindingCount();
}
+ }
}
}
}
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp Fri Apr 23 21:00:10 2010
@@ -74,8 +74,7 @@ Link::Link(LinkRegistry* _links,
if (agent != 0)
{
mgmtObject = new _qmf::Link(agent, this, parent, _host, _port, _transport, _durable);
- if (!durable)
- agent->addObject(mgmtObject);
+ agent->addObject(mgmtObject, 0, durable);
}
}
setStateLH(STATE_WAITING);
@@ -353,10 +352,6 @@ void Link::notifyConnectionForced(const
void Link::setPersistenceId(uint64_t id) const
{
- if (mgmtObject != 0 && persistenceId == 0) {
- ManagementAgent* agent = broker->getManagementAgent();
- agent->addObject(mgmtObject, id);
- }
persistenceId = id;
}
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Fri Apr 23 21:00:10 2010
@@ -105,19 +105,12 @@ Queue::Queue(const string& _name, bool _
broker(b),
deleted(false)
{
- if (parent != 0 && broker != 0)
- {
+ if (parent != 0 && broker != 0) {
ManagementAgent* agent = broker->getManagementAgent();
- if (agent != 0)
- {
+ if (agent != 0) {
mgmtObject = new _qmf::Queue(agent, this, parent, _name, _store != 0, _autodelete, _owner != 0);
-
- // Add the object to the management agent only if this queue is not durable.
- // If it's durable, we will add it later when the queue is assigned a persistenceId.
- if (store == 0) {
- agent->addObject (mgmtObject, agent->allocateId(this));
- }
+ agent->addObject(mgmtObject, 0, store != 0);
}
}
}
@@ -125,7 +118,7 @@ Queue::Queue(const string& _name, bool _
Queue::~Queue()
{
if (mgmtObject != 0)
- mgmtObject->resourceDestroy ();
+ mgmtObject->resourceDestroy();
}
bool isLocalTo(const OwnershipToken* token, boost::intrusive_ptr<Message>& msg)
@@ -942,16 +935,11 @@ uint64_t Queue::getPersistenceId() const
void Queue::setPersistenceId(uint64_t _persistenceId) const
{
- if (mgmtObject != 0 && persistenceId == 0)
+ if (mgmtObject != 0 && persistenceId == 0 && externalQueueStore)
{
- ManagementAgent* agent = broker->getManagementAgent();
- agent->addObject (mgmtObject, 0x3000000000000000LL + _persistenceId);
-
- if (externalQueueStore) {
- ManagementObject* childObj = externalQueueStore->GetManagementObject();
- if (childObj != 0)
- childObj->setReference(mgmtObject->getObjectId());
- }
+ ManagementObject* childObj = externalQueueStore->GetManagementObject();
+ if (childObj != 0)
+ childObj->setReference(mgmtObject->getObjectId());
}
persistenceId = _persistenceId;
}
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp Fri Apr 23 21:00:10 2010
@@ -281,7 +281,7 @@ SemanticState::ConsumerImpl::ConsumerImp
{
mgmtObject = new _qmf::Subscription(agent, this, ms , queue->GetManagementObject()->getObjectId() ,name,
!acquire, ackExpected, exclusive, ManagementAgent::toMap(arguments));
- agent->addObject (mgmtObject, agent->allocateId(this));
+ agent->addObject (mgmtObject);
mgmtObject->set_creditMode("WINDOW");
}
}
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=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp Fri Apr 23 21:00:10 2010
@@ -81,7 +81,7 @@ SessionState::SessionState(
mgmtObject->set_detachedLifespan (0);
mgmtObject->clr_expireTime();
if (rateFlowcontrol) mgmtObject->set_maxClientRate(maxRate);
- agent->addObject (mgmtObject, agent->allocateId(this));
+ agent->addObject(mgmtObject);
}
}
attach(h);
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/System.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/System.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/System.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/System.cpp Fri Apr 23 21:00:10 2010
@@ -78,7 +78,7 @@ System::System (string _dataDir, Broker*
mgmtObject->set_version (version);
mgmtObject->set_machine (machine);
- agent->addObject (mgmtObject, 0x1000000000000001LL);
+ agent->addObject(mgmtObject, 0, true);
}
}
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp Fri Apr 23 21:00:10 2010
@@ -38,7 +38,7 @@ Vhost::Vhost (qpid::management::Manageab
if (agent != 0)
{
mgmtObject = new _qmf::Vhost(agent, this, parentBroker, "/");
- agent->addObject (mgmtObject, 0x1000000000000003LL);
+ agent->addObject(mgmtObject, 0, true);
}
}
}
Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp Fri Apr 23 21:00:10 2010
@@ -157,7 +157,6 @@
#include "qpid/framing/MessageTransferBody.h"
#include "qpid/log/Helpers.h"
#include "qpid/log/Statement.h"
-#include "qpid/management/IdAllocator.h"
#include "qpid/management/ManagementAgent.h"
#include "qpid/memory.h"
#include "qpid/sys/Thread.h"
Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/ClusterPlugin.cpp Fri Apr 23 21:00:10 2010
@@ -32,7 +32,6 @@
#include "qpid/log/Statement.h"
#include "qpid/management/ManagementAgent.h"
-#include "qpid/management/IdAllocator.h"
#include "qpid/broker/Exchange.h"
#include "qpid/broker/Message.h"
#include "qpid/broker/Queue.h"
@@ -48,7 +47,6 @@ namespace cluster {
using namespace std;
using broker::Broker;
-using management::IdAllocator;
using management::ManagementAgent;
@@ -77,46 +75,6 @@ struct ClusterOptions : public Options {
}
};
-struct UpdateClientIdAllocator : management::IdAllocator
-{
- qpid::sys::AtomicValue<uint64_t> sequence;
-
- UpdateClientIdAllocator() : sequence(0x4000000000000000LL) {}
-
- uint64_t getIdFor(management::Manageable* m)
- {
- if (isUpdateQueue(m) || isUpdateExchange(m) || isUpdateSession(m) || isUpdateBinding(m)) {
- return ++sequence;
- } else {
- return 0;
- }
- }
-
- bool isUpdateQueue(management::Manageable* manageable)
- {
- qpid::broker::Queue* queue = dynamic_cast<qpid::broker::Queue*>(manageable);
- return queue && queue->getName() == UpdateClient::UPDATE;
- }
-
- bool isUpdateExchange(management::Manageable* manageable)
- {
- qpid::broker::Exchange* exchange = dynamic_cast<qpid::broker::Exchange*>(manageable);
- return exchange && exchange->getName() == UpdateClient::UPDATE;
- }
-
- bool isUpdateSession(management::Manageable* manageable)
- {
- broker::SessionState* session = dynamic_cast<broker::SessionState*>(manageable);
- return session && session->getId().getName() == UpdateClient::UPDATE;
- }
-
- bool isUpdateBinding(management::Manageable* manageable)
- {
- broker::Exchange::Binding* binding = dynamic_cast<broker::Exchange::Binding*>(manageable);
- return binding && binding->queue->getName() == UpdateClient::UPDATE;
- }
-};
-
struct ClusterPlugin : public Plugin {
ClusterSettings settings;
@@ -139,11 +97,6 @@ struct ClusterPlugin : public Plugin {
broker->setConnectionFactory(
boost::shared_ptr<sys::ConnectionCodec::Factory>(
new ConnectionCodec::Factory(broker->getConnectionFactory(), *cluster)));
- ManagementAgent* mgmt = broker->getManagementAgent();
- if (mgmt) {
- std::auto_ptr<IdAllocator> allocator(new UpdateClientIdAllocator());
- mgmt->setAllocator(allocator);
- }
}
void disallowManagementMethods(ManagementAgent* agent) {
Modified: qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp Fri Apr 23 21:00:10 2010
@@ -21,7 +21,6 @@
#include "qpid/management/ManagementAgent.h"
#include "qpid/management/ManagementObject.h"
-#include "qpid/management/IdAllocator.h"
#include "qpid/broker/DeliverableMessage.h"
#include "qpid/log/Statement.h"
#include <qpid/broker/Message.h>
@@ -247,18 +246,13 @@ void ManagementAgent::registerEvent (con
}
// Deprecated: V1 objects
-ObjectId ManagementAgent::addObject(ManagementObject* object, uint64_t persistId)
+ObjectId ManagementAgent::addObject(ManagementObject* object, uint64_t persistId, bool persistent)
{
uint16_t sequence;
uint64_t objectNum;
- if (persistId == 0) {
- sequence = bootSequence;
- objectNum = nextObjectId++;
- } else {
- sequence = 0;
- objectNum = persistId;
- }
+ sequence = persistent ? 0 : bootSequence;
+ objectNum = persistId ? persistId : nextObjectId++;
ObjectId objId(0 /*flags*/, sequence, brokerBank, objectNum);
objId.setV2Key(*object); // let object generate the v2 key
@@ -2170,19 +2164,6 @@ ManagementObjectMap::iterator Management
return iter;
}
-void ManagementAgent::setAllocator(auto_ptr<IdAllocator> a)
-{
- sys::Mutex::ScopedLock lock (userLock);
- allocator = a;
-}
-
-uint64_t ManagementAgent::allocateId(Manageable* object)
-{
- sys::Mutex::ScopedLock lock (userLock);
- if (allocator.get()) return allocator->getIdFor(object);
- return 0;
-}
-
void ManagementAgent::disallow(const string& className, const string& methodName, const string& message) {
disallowed[make_pair(className, methodName)] = message;
}
Modified: qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h Fri Apr 23 21:00:10 2010
@@ -42,8 +42,6 @@
namespace qpid {
namespace management {
-struct IdAllocator;
-
class ManagementAgent
{
private:
@@ -95,10 +93,11 @@ public:
uint8_t* md5Sum,
ManagementObject::writeSchemaCall_t schemaCall);
QPID_BROKER_EXTERN ObjectId addObject (ManagementObject* object,
- uint64_t persistId = 0);
+ uint64_t persistId = 0,
+ bool persistent = false);
QPID_BROKER_EXTERN ObjectId addObject (ManagementObject* object,
const std::string& key,
- bool persistent = true);
+ bool persistent = false);
QPID_BROKER_EXTERN void raiseEvent(const ManagementEvent& event,
severity_t severity = SEV_DEFAULT);
QPID_BROKER_EXTERN void clientAdded (const std::string& routingKey);
@@ -113,9 +112,6 @@ public:
const framing::Uuid& getUuid() const { return uuid; }
- void setAllocator(std::auto_ptr<IdAllocator> allocator);
- uint64_t allocateId(Manageable* object);
-
/** Disallow a method. Attempts to call it will receive an exception with message. */
void disallow(const std::string& className, const std::string& methodName, const std::string& message);
@@ -280,8 +276,6 @@ private:
const qpid::sys::AbsTime startTime;
bool suppressed;
- std::auto_ptr<IdAllocator> allocator;
-
typedef std::pair<std::string,std::string> MethodName;
typedef std::map<MethodName, std::string> DisallowedMethods;
DisallowedMethods disallowed;
Modified: qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py?rev=937516&r1=937515&r2=937516&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py (original)
+++ qpid/trunk/qpid/extras/qmf/src/py/qmf/console.py Fri Apr 23 21:00:10 2010
@@ -2404,22 +2404,18 @@ class Agent:
def getBroker(self):
- self._checkClosed()
return self.broker
def getBrokerBank(self):
- self._checkClosed()
return self.brokerBank
def getAgentBank(self):
- self._checkClosed()
return self.agentBank
def getV2RoutingKey(self):
- self._checkClosed()
if self.agentBank == '0':
return 'broker'
return self.agentBank
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org