diff options
Diffstat (limited to 'cpp/src/qpid/broker')
| -rw-r--r-- | cpp/src/qpid/broker/Broker.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/Exchange.cpp | 42 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/Link.cpp | 7 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/Queue.cpp | 28 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/SemanticState.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/SessionState.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/System.cpp | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/broker/Vhost.cpp | 2 |
8 files changed, 28 insertions, 59 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp index 50ab543baf..c95efaa1ef 100644 --- a/cpp/src/qpid/broker/Broker.cpp +++ b/cpp/src/qpid/broker/Broker.cpp @@ -185,7 +185,7 @@ Broker::Broker(const Broker::Options& conf) : 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 diff --git a/cpp/src/qpid/broker/Exchange.cpp b/cpp/src/qpid/broker/Exchange.cpp index fed6698c36..1188cf0e5b 100644 --- a/cpp/src/qpid/broker/Exchange.cpp +++ b/cpp/src/qpid/broker/Exchange.cpp @@ -132,7 +132,7 @@ Exchange::Exchange (const string& _name, Manageable* parent, Broker* b) : 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, bool _durable, const qpid::framing::Fiel 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::shared_ptr _alternate) 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(); } + } } } } diff --git a/cpp/src/qpid/broker/Link.cpp b/cpp/src/qpid/broker/Link.cpp index cdba18ccf9..c88cabbda7 100644 --- a/cpp/src/qpid/broker/Link.cpp +++ b/cpp/src/qpid/broker/Link.cpp @@ -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 string text) void Link::setPersistenceId(uint64_t id) const { - if (mgmtObject != 0 && persistenceId == 0) { - ManagementAgent* agent = broker->getManagementAgent(); - agent->addObject(mgmtObject, id); - } persistenceId = id; } diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp index d3a464a6fe..3b7461e094 100644 --- a/cpp/src/qpid/broker/Queue.cpp +++ b/cpp/src/qpid/broker/Queue.cpp @@ -105,19 +105,12 @@ Queue::Queue(const string& _name, bool _autodelete, 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 _autodelete, 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; } diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp index d4fa465f37..cb06db086a 100644 --- a/cpp/src/qpid/broker/SemanticState.cpp +++ b/cpp/src/qpid/broker/SemanticState.cpp @@ -281,7 +281,7 @@ SemanticState::ConsumerImpl::ConsumerImpl(SemanticState* _parent, { 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"); } } diff --git a/cpp/src/qpid/broker/SessionState.cpp b/cpp/src/qpid/broker/SessionState.cpp index 4d5fe14690..ddf68cad2f 100644 --- a/cpp/src/qpid/broker/SessionState.cpp +++ b/cpp/src/qpid/broker/SessionState.cpp @@ -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); diff --git a/cpp/src/qpid/broker/System.cpp b/cpp/src/qpid/broker/System.cpp index 90c6b13cd3..8cd2edda76 100644 --- a/cpp/src/qpid/broker/System.cpp +++ b/cpp/src/qpid/broker/System.cpp @@ -78,7 +78,7 @@ System::System (string _dataDir, Broker* broker) : mgmtObject(0) mgmtObject->set_version (version); mgmtObject->set_machine (machine); - agent->addObject (mgmtObject, 0x1000000000000001LL); + agent->addObject(mgmtObject, 0, true); } } diff --git a/cpp/src/qpid/broker/Vhost.cpp b/cpp/src/qpid/broker/Vhost.cpp index df37cba255..a9ca3b42ab 100644 --- a/cpp/src/qpid/broker/Vhost.cpp +++ b/cpp/src/qpid/broker/Vhost.cpp @@ -38,7 +38,7 @@ Vhost::Vhost (qpid::management::Manageable* parentBroker, Broker* broker) : mgmt if (agent != 0) { mgmtObject = new _qmf::Vhost(agent, this, parentBroker, "/"); - agent->addObject (mgmtObject, 0x1000000000000003LL); + agent->addObject(mgmtObject, 0, true); } } } |
