Segment metadata users

This commit is contained in:
Zach Pomerantz 2016-06-02 17:22:39 -07:00
parent 85055d82bf
commit 5c293646b9
3 changed files with 20 additions and 9 deletions

View file

@ -15,6 +15,14 @@
#include "DomainServerNodeData.h"
const QString DomainMetadata::USERS_KEY = "users";
const QString DomainMetadata::USERS_NUM_KEY = "num_users";
const QString DomainMetadata::USERS_HOSTNAMES_KEY = "users_hostnames";
DomainMetadata::DomainMetadata() :
_metadata{{ USERS_KEY, {} }} {
}
void DomainMetadata::usersChanged() {
static const QString DEFAULT_HOSTNAME = "*";
@ -39,13 +47,10 @@ void DomainMetadata::usersChanged() {
}
});
static const QString HEARTBEAT_NUM_USERS_KEY = "num_users";
_metadata[HEARTBEAT_NUM_USERS_KEY] = numConnectedUnassigned;
static const QString HEARTBEAT_USER_HOSTNAMES_KEY = "user_hostnames";
_metadata[HEARTBEAT_USER_HOSTNAMES_KEY] = userHostnames;
QVariantMap users = {{ USERS_NUM_KEY, numConnectedUnassigned }, { USERS_HOSTNAMES_KEY, userHostnames }};
_metadata[USERS_KEY] = users;
#if DEV_BUILD
qDebug() << "Regenerated domain metadata - users:" << _metadata;
qDebug() << "Regenerated domain metadata - users:" << users;
#endif
}

View file

@ -15,9 +15,15 @@
#include <QJsonObject>
class DomainMetadata {
static const QString USERS_KEY;
static const QString USERS_NUM_KEY;
static const QString USERS_HOSTNAMES_KEY;
public:
QVariantMap toVariantMap() { return _metadata; }
QJsonObject toJSON() { return QJsonObject::fromVariantMap(_metadata); }
DomainMetadata();
QJsonObject get() { return QJsonObject::fromVariantMap(_metadata); }
QJsonObject getUsers() { return QJsonObject::fromVariantMap(_metadata[USERS_KEY].toMap()); }
public slots:
void usersChanged();

View file

@ -1098,7 +1098,7 @@ void DomainServer::sendHeartbeatToMetaverse(const QString& networkAddress) {
// Add the metadata to the heartbeat
static const QString DOMAIN_HEARTBEAT_KEY = "heartbeat";
domainObject[DOMAIN_HEARTBEAT_KEY] = _metadata.toJSON();
domainObject[DOMAIN_HEARTBEAT_KEY] = _metadata.getUsers();
QString domainUpdateJSON = QString("{\"domain\":%1}").arg(QString(QJsonDocument(domainObject).toJson(QJsonDocument::Compact)));