From 2250cdfcc2a750f9778925f7d89234c60997d78f Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 3 Nov 2014 14:50:45 -0800 Subject: [PATCH] have the domain-server unverifiably heartbeat the number of connected users --- domain-server/src/DomainServer.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index ed0fd60ae5..198c61bcba 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -1109,8 +1109,25 @@ void DomainServer::sendHeartbeatToDataServer(const QString& networkAddress) { domainObject[AUTOMATIC_NETWORKING_KEY] = _automaticNetworkingSetting; + // add the number of currently connected agent users + int numConnectedAuthedUsers = 0; + foreach(const SharedNodePointer& node, LimitedNodeList::getInstance()->getNodeHash()) { + if (node->getLinkedData() && !static_cast(node->getLinkedData())->getUsername().isEmpty()) { + ++numConnectedAuthedUsers; + } + } + + const QString DOMAIN_HEARTBEAT_KEY = "heartbeat"; + const QString HEARTBEAT_NUM_USERS_KEY = "num_users"; + + QJsonObject heartbeatObject; + heartbeatObject[HEARTBEAT_NUM_USERS_KEY] = numConnectedAuthedUsers; + domainObject[DOMAIN_HEARTBEAT_KEY] = heartbeatObject; + QString domainUpdateJSON = QString("{\"domain\": %1 }").arg(QString(QJsonDocument(domainObject).toJson())); + qDebug() << domainUpdateJSON; + AccountManager::getInstance().authenticatedRequest(DOMAIN_UPDATE.arg(uuidStringWithoutCurlyBraces(domainID)), QNetworkAccessManager::PutOperation, JSONCallbackParameters(),