diff options
| author | Ted Ross <tross@apache.org> | 2008-11-10 17:53:27 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2008-11-10 17:53:27 +0000 |
| commit | 2b31a560b8a78e6533c935cf612dbd7358e02aec (patch) | |
| tree | 10f4876f6e41d3ce6bad70a9bd8387669a37044b /cpp/src | |
| parent | f6f56f56ebb092d8808119a66ced9fcd0399b238 (diff) | |
| download | qpid-python-2b31a560b8a78e6533c935cf612dbd7358e02aec.tar.gz | |
QPID-1446 - A more efficient data structure for freeing management objects.
Namespace cleanup.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@712709 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/agent/ManagementAgentImpl.cpp | 36 | ||||
| -rw-r--r-- | cpp/src/qpid/management/ManagementBroker.cpp | 37 |
2 files changed, 34 insertions, 39 deletions
diff --git a/cpp/src/qpid/agent/ManagementAgentImpl.cpp b/cpp/src/qpid/agent/ManagementAgentImpl.cpp index a21a4cd492..06acf6b0e3 100644 --- a/cpp/src/qpid/agent/ManagementAgentImpl.cpp +++ b/cpp/src/qpid/agent/ManagementAgentImpl.cpp @@ -36,6 +36,7 @@ using namespace qpid::client; using namespace qpid::framing; using namespace qpid::management; using namespace qpid::sys; +using namespace std; using std::stringstream; using std::ofstream; using std::ifstream; @@ -140,8 +141,8 @@ void ManagementAgentImpl::init(string brokerHost, storeData(true); } -void ManagementAgentImpl::registerClass(std::string& packageName, - std::string& className, +void ManagementAgentImpl::registerClass(string& packageName, + string& className, uint8_t* md5Sum, management::ManagementObject::writeSchemaCall_t schemaCall) { @@ -150,8 +151,8 @@ void ManagementAgentImpl::registerClass(std::string& packageName, addClassLocal(ManagementItem::CLASS_KIND_TABLE, pIter, className, md5Sum, schemaCall); } -void ManagementAgentImpl::registerEvent(std::string& packageName, - std::string& eventName, +void ManagementAgentImpl::registerEvent(string& packageName, + string& eventName, uint8_t* md5Sum, management::ManagementObject::writeSchemaCall_t schemaCall) { @@ -399,7 +400,7 @@ void ManagementAgentImpl::invokeMethodRequest(Buffer& inBuffer, uint32_t sequenc try { outBuffer.record(); iter->second->doMethod(methodName, inBuffer, outBuffer); - } catch(std::exception& e) { + } catch(exception& e) { outBuffer.restore(); outBuffer.putLong(Manageable::STATUS_EXCEPTION); outBuffer.putMediumString(e.what()); @@ -534,8 +535,8 @@ ManagementAgentImpl::PackageMap::iterator ManagementAgentImpl::findOrAddPackage( return pIter; // No such package found, create a new map entry. - std::pair<PackageMap::iterator, bool> result = - packages.insert(std::pair<string, ClassMap>(name, ClassMap())); + pair<PackageMap::iterator, bool> result = + packages.insert(pair<string, ClassMap>(name, ClassMap())); // Publish a package-indication message Buffer outBuffer(outputBuffer, MA_BUFFER_SIZE); @@ -577,7 +578,7 @@ void ManagementAgentImpl::addClassLocal(uint8_t classKind, return; // No such class found, create a new class with local information. - cMap.insert(std::pair<SchemaClassKey, SchemaClass>(key, SchemaClass(schemaCall, classKind))); + cMap.insert(pair<SchemaClassKey, SchemaClass>(key, SchemaClass(schemaCall, classKind))); } void ManagementAgentImpl::encodePackageIndication(Buffer& buf, @@ -605,7 +606,7 @@ void ManagementAgentImpl::periodicProcessing() char msgChars[BUFSIZE]; uint32_t contentSize; string routingKey; - std::list<ObjectId> deleteList; + list<pair<ObjectId, ManagementObject*> > deleteList; if (!connected) return; @@ -681,7 +682,7 @@ void ManagementAgentImpl::periodicProcessing() } if (object->isDeleted()) - deleteList.push_back(iter->first); + deleteList.push_back(pair<ObjectId, ManagementObject*>(iter->first, object)); if (msgBuffer.available() < (BUFSIZE / 2)) break; @@ -697,14 +698,11 @@ void ManagementAgentImpl::periodicProcessing() } // Delete flagged objects - for (std::list<ObjectId>::reverse_iterator iter = deleteList.rbegin(); + for (list<pair<ObjectId, ManagementObject*> >::reverse_iterator iter = deleteList.rbegin(); iter != deleteList.rend(); iter++) { - ManagementObjectMap::iterator miter = managementObjects.find(*iter); - if (miter != managementObjects.end()) { - delete miter->second; - managementObjects.erase(*iter); - } + delete iter->second; + managementObjects.erase(iter->first); } deleteList.clear(); @@ -744,7 +742,7 @@ void ManagementAgentImpl::ConnectionThread::run() try { Mutex::ScopedUnlock _unlock(connLock); subscriptions->run(); - } catch (std::exception) {} + } catch (exception) {} if (agent.debugLevel) cout << "QMF Agent connection has been lost" << endl; @@ -757,7 +755,7 @@ void ManagementAgentImpl::ConnectionThread::run() session.close(); connection.close(); } - } catch (std::exception &e) { + } catch (exception &e) { if (delay < delayMax) delay *= delayFactor; if (agent.debugLevel) @@ -804,7 +802,7 @@ void ManagementAgentImpl::ConnectionThread::sendBuffer(Buffer& buf, msg.setData(data); try { session.messageTransfer(arg::content=msg, arg::destination=exchange); - } catch(std::exception&) {} + } catch(exception&) {} } void ManagementAgentImpl::ConnectionThread::bindToBank(uint32_t brokerBank, uint32_t agentBank) diff --git a/cpp/src/qpid/management/ManagementBroker.cpp b/cpp/src/qpid/management/ManagementBroker.cpp index a9c67ff1b9..e2c735e660 100644 --- a/cpp/src/qpid/management/ManagementBroker.cpp +++ b/cpp/src/qpid/management/ManagementBroker.cpp @@ -322,7 +322,7 @@ void ManagementBroker::sendBuffer(Buffer& buf, DeliverableMessage deliverable (msg); try { exchange->route(deliverable, routingKey, 0); - } catch(std::exception&) {} + } catch(exception&) {} } void ManagementBroker::moveNewObjectsLH() @@ -342,7 +342,7 @@ void ManagementBroker::periodicProcessing (void) char msgChars[BUFSIZE]; uint32_t contentSize; string routingKey; - std::list<ObjectId> deleteList; + list<pair<ObjectId, ManagementObject*> > deleteList; { Buffer msgBuffer(msgChars, BUFSIZE); @@ -402,19 +402,16 @@ void ManagementBroker::periodicProcessing (void) sendBuffer (msgBuffer, contentSize, mExchange, routingKey); } - if (object->isDeleted ()) - deleteList.push_back (iter->first); + if (object->isDeleted()) + deleteList.push_back(pair<ObjectId, ManagementObject*>(iter->first, object)); } // Delete flagged objects - for (std::list<ObjectId>::reverse_iterator iter = deleteList.rbegin (); - iter != deleteList.rend (); + for (list<pair<ObjectId, ManagementObject*> >::reverse_iterator iter = deleteList.rbegin(); + iter != deleteList.rend(); iter++) { - ManagementObjectMap::iterator miter = managementObjects.find(*iter); - if (miter != managementObjects.end()) { - delete miter->second; - managementObjects.erase(*iter); - } + delete iter->second; + managementObjects.erase(iter->first); } if (!deleteList.empty()) { @@ -493,7 +490,7 @@ void ManagementBroker::handleMethodRequestLH (Buffer& inBuffer, string replyToKe if (acl != 0) { string userId = ((const qpid::broker::ConnectionState*) connToken)->getUserId(); - std::map<acl::Property, string> params; + map<acl::Property, string> params; params[acl::PROP_SCHEMAPACKAGE] = packageName; params[acl::PROP_SCHEMACLASS] = className; @@ -521,7 +518,7 @@ void ManagementBroker::handleMethodRequestLH (Buffer& inBuffer, string replyToKe try { outBuffer.record(); iter->second->doMethod(methodName, inBuffer, outBuffer); - } catch(std::exception& e) { + } catch(exception& e) { outBuffer.restore(); outBuffer.putLong(Manageable::STATUS_EXCEPTION); outBuffer.putMediumString(e.what()); @@ -567,7 +564,7 @@ void ManagementBroker::handlePackageQueryLH (Buffer&, string replyToKey, uint32_ void ManagementBroker::handlePackageIndLH (Buffer& inBuffer, string /*replyToKey*/, uint32_t /*sequence*/) { - std::string packageName; + string packageName; inBuffer.getShortString(packageName); findOrAddPackageLH(packageName); @@ -575,7 +572,7 @@ void ManagementBroker::handlePackageIndLH (Buffer& inBuffer, string /*replyToKey void ManagementBroker::handleClassQueryLH(Buffer& inBuffer, string replyToKey, uint32_t sequence) { - std::string packageName; + string packageName; inBuffer.getShortString(packageName); PackageMap::iterator pIter = packages.find(packageName); @@ -604,7 +601,7 @@ void ManagementBroker::handleClassQueryLH(Buffer& inBuffer, string replyToKey, u void ManagementBroker::handleClassIndLH (Buffer& inBuffer, string replyToKey, uint32_t) { - std::string packageName; + string packageName; SchemaClassKey key; uint8_t kind = inBuffer.getOctet(); @@ -907,7 +904,7 @@ bool ManagementBroker::authorizeAgentMessageLH(Message& msg) uint8_t hash[16]; string methodName; - std::map<acl::Property, string> params; + map<acl::Property, string> params; ObjectId objId(inBuffer); inBuffer.getShortString(packageName); inBuffer.getShortString(className); @@ -983,7 +980,7 @@ void ManagementBroker::dispatchAgentCommandLH(Message& msg) else if (opcode == 'M') handleMethodRequestLH (inBuffer, replyToKey, sequence, msg.getPublisher()); } -ManagementBroker::PackageMap::iterator ManagementBroker::findOrAddPackageLH(std::string name) +ManagementBroker::PackageMap::iterator ManagementBroker::findOrAddPackageLH(string name) { PackageMap::iterator pIter = packages.find (name); if (pIter != packages.end ()) @@ -1095,7 +1092,7 @@ size_t ManagementBroker::validateTableSchema(Buffer& inBuffer) aft.decode(inBuffer); } } - } catch (std::exception& /*e*/) { + } catch (exception& /*e*/) { return 0; } @@ -1127,7 +1124,7 @@ size_t ManagementBroker::validateEventSchema(Buffer& inBuffer) FieldTable ft; ft.decode(inBuffer); } - } catch (std::exception& /*e*/) { + } catch (exception& /*e*/) { return 0; } |
