Changeset - eeed514c75a7
[Not reviewed]
0 1 0
HanzZ - 13 years ago 2013-02-19 07:06:52
hanzz.k@gmail.com
Libtransport: Fix uint underflow when reporting average memory usage
1 file changed with 4 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/admininterface.cpp
Show inline comments
 
@@ -173,13 +173,15 @@ void AdminInterface::handleQuery(Swift::Message::ref message) {
 
			message->setBody(boost::lexical_cast<std::string>(0));
 
		}
 
		else {
 
			unsigned long per_user = 0;
 
			const std::list <NetworkPluginServer::Backend *> &backends = m_server->getBackends();
 
			BOOST_FOREACH(NetworkPluginServer::Backend * backend, backends) {
 
				per_user += (backend->res - backend->init_res);
 
				if (backend->res >= backend->init_res) {
 
					per_user += (backend->res - backend->init_res);
 
				}
 
			}
 

	
 
			message->setBody(boost::lexical_cast<std::string>(per_user / m_userManager->getUserCount()));
 
		}
 
	}
 
	else if (message->getBody() == "res_memory_per_backend") {
 
@@ -217,13 +219,13 @@ void AdminInterface::handleQuery(Swift::Message::ref message) {
 
	}
 
	else if (message->getBody() == "average_memory_per_user_per_backend") {
 
		std::string lst;
 
		int id = 1;
 
		const std::list <NetworkPluginServer::Backend *> &backends = m_server->getBackends();
 
		BOOST_FOREACH(NetworkPluginServer::Backend * backend, backends) {
 
			if (backend->users.size() == 0) {
 
			if (backend->users.size() == 0 || backend->res < backend->init_res) {
 
				lst += "Backend " + boost::lexical_cast<std::string>(id)  + " (ID=" + backend->id + "): 0\n";
 
			}
 
			else {
 
				lst += "Backend " + boost::lexical_cast<std::string>(id) + " (ID=" + backend->id + "): " + boost::lexical_cast<std::string>((backend->res - backend->init_res) / backend->users.size()) + "\n";
 
			}
 
			id++;
0 comments (0 inline, 0 general)