mirror of
https://github.com/overte-org/overte.git
synced 2025-04-22 20:53:33 +02:00
hook JSON stats sending from domain-server
This commit is contained in:
parent
ec10e61b8c
commit
8f403609e7
5 changed files with 27 additions and 1 deletions
assignment-client/src/audio
domain-server/src
libraries/shared/src
|
@ -33,6 +33,7 @@
|
|||
#include <glm/gtx/vector_angle.hpp>
|
||||
|
||||
#include <QtCore/QCoreApplication>
|
||||
#include <QtCore/QJsonObject>
|
||||
#include <QtCore/QTimer>
|
||||
|
||||
#include <Logging.h>
|
||||
|
@ -349,11 +350,30 @@ void AudioMixer::readPendingDatagrams() {
|
|||
}
|
||||
}
|
||||
|
||||
void AudioMixer::sendStatsPacket() {
|
||||
static QJsonObject statsObject;
|
||||
statsObject["trailing_sleep"] = _trailingSleepRatio;
|
||||
statsObject["min_audability_threshold"] = _minAudibilityThreshold;
|
||||
|
||||
QByteArray statsPacket = byteArrayWithPopulatedHeader(PacketTypeNodeJsonStats);
|
||||
QDataStream statsPacketStream(&statsPacket, QIODevice::Append);
|
||||
|
||||
statsPacketStream << statsObject.toVariantMap();
|
||||
|
||||
NodeList* nodeList = NodeList::getInstance();
|
||||
nodeList->sendDatagramToDomainServer(statsPacket);
|
||||
}
|
||||
|
||||
void AudioMixer::run() {
|
||||
|
||||
commonInit(AUDIO_MIXER_LOGGING_TARGET_NAME, NodeType::AudioMixer);
|
||||
|
||||
NodeList* nodeList = NodeList::getInstance();
|
||||
|
||||
// send a stats packet every 1 second
|
||||
QTimer* statsTimer = new QTimer(this);
|
||||
connect(statsTimer, SIGNAL(timeout()), this, SLOT(sendStatsPacket()));
|
||||
statsTimer->start(1000);
|
||||
|
||||
nodeList->addNodeTypeToInterestSet(NodeType::Agent);
|
||||
|
||||
|
|
|
@ -28,6 +28,8 @@ public slots:
|
|||
void run();
|
||||
|
||||
void readPendingDatagrams();
|
||||
|
||||
void sendStatsPacket();
|
||||
private:
|
||||
/// adds one buffer to the mix for a listening node
|
||||
void addBufferToMixForListeningNodeWithBuffer(PositionalAudioRingBuffer* bufferToAdd,
|
||||
|
|
|
@ -35,7 +35,6 @@ void DomainServerNodeData::parseJSONStatsPacket(const QByteArray& statsPacket) {
|
|||
_statsJSONObject = mergeJSONStatsFromNewObject(unpackedStatsJSON, _statsJSONObject);
|
||||
}
|
||||
|
||||
|
||||
QJsonObject DomainServerNodeData::mergeJSONStatsFromNewObject(const QJsonObject& newObject, QJsonObject destinationObject) {
|
||||
foreach(const QString& key, newObject.keys()) {
|
||||
if (newObject[key].isObject() && destinationObject.contains(key)) {
|
||||
|
|
|
@ -193,6 +193,10 @@ qint64 NodeList::writeDatagram(const char* data, qint64 size, const SharedNodePo
|
|||
return writeDatagram(QByteArray(data, size), destinationNode, overridenSockAddr);
|
||||
}
|
||||
|
||||
qint64 NodeList::sendDatagramToDomainServer(const QByteArray &datagram) {
|
||||
return writeDatagram(datagram, _domainInfo.getSockAddr(), _domainInfo.getConnectionSecret());
|
||||
}
|
||||
|
||||
void NodeList::timePingReply(const QByteArray& packet, const SharedNodePointer& sendingNode) {
|
||||
QDataStream packetStream(packet);
|
||||
packetStream.skipRawData(numBytesForPacketHeader(packet));
|
||||
|
|
|
@ -78,6 +78,7 @@ public:
|
|||
const HifiSockAddr& overridenSockAddr = HifiSockAddr());
|
||||
qint64 writeDatagram(const char* data, qint64 size, const SharedNodePointer& destinationNode,
|
||||
const HifiSockAddr& overridenSockAddr = HifiSockAddr());
|
||||
qint64 sendDatagramToDomainServer(const QByteArray& datagram);
|
||||
|
||||
void(*linkedDataCreateCallback)(Node *);
|
||||
|
||||
|
|
Loading…
Reference in a new issue