aboutsummaryrefslogtreecommitdiff
path: root/src/server/QXmppServer.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-09-10 14:58:49 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-09-10 14:58:49 +0200
commitca58ee37157f4ae9635ccdf3ab662c31ba0e6904 (patch)
treefe4201a74d7f445c1a8cdd0c1ac4a69343094646 /src/server/QXmppServer.cpp
parent858c95cd64794ae78bf3f39805b933c6289bd84d (diff)
add counters
Diffstat (limited to 'src/server/QXmppServer.cpp')
-rw-r--r--src/server/QXmppServer.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/server/QXmppServer.cpp b/src/server/QXmppServer.cpp
index 0027aa6f..8c9b6fb0 100644
--- a/src/server/QXmppServer.cpp
+++ b/src/server/QXmppServer.cpp
@@ -172,6 +172,7 @@ bool QXmppServerPrivate::routeData(const QString &to, const QByteArray &data)
// add stream
outgoingServers.insert(conn);
+ q->setGauge("outgoing-server.count", outgoingServers.size());
// queue data and connect to remote server
QMetaObject::invokeMethod(conn, "queueData", Q_ARG(QByteArray, data));
@@ -397,6 +398,8 @@ void QXmppServer::setLogger(QXmppLogger *logger)
d->logger, SLOT(incrementCounter(QString)));
disconnect(this, SIGNAL(logMessage(QXmppLogger::MessageType,QString)),
d->logger, SLOT(log(QXmppLogger::MessageType,QString)));
+ disconnect(this, SIGNAL(setGauge(QString,double)),
+ d->logger, SLOT(setGauge(QString,double)));
}
d->logger = logger;
@@ -405,6 +408,8 @@ void QXmppServer::setLogger(QXmppLogger *logger)
d->logger, SLOT(incrementCounter(QString)));
connect(this, SIGNAL(logMessage(QXmppLogger::MessageType,QString)),
d->logger, SLOT(log(QXmppLogger::MessageType,QString)));
+ connect(this, SIGNAL(setGauge(QString,double)),
+ d->logger, SLOT(setGauge(QString,double)));
}
emit loggerChanged(d->logger);
@@ -610,6 +615,7 @@ void QXmppServer::addIncomingClient(QXmppIncomingClient *stream)
// add stream
d->incomingClients.insert(stream);
+ setGauge("incoming-client.count", d->incomingClients.size());
}
/// Handle a new incoming TCP connection from a client.
@@ -683,6 +689,9 @@ void QXmppServer::_q_clientDisconnected()
// emit signal
if (!jid.isEmpty())
emit clientDisconnected(jid);
+
+ // update counter
+ setGauge("incoming-client.count", d->incomingClients.size());
}
}
@@ -727,8 +736,10 @@ void QXmppServer::_q_outgoingServerDisconnected()
if (!outgoing)
return;
- if (d->outgoingServers.remove(outgoing))
+ if (d->outgoingServers.remove(outgoing)) {
outgoing->deleteLater();
+ setGauge("outgoing-server.count", d->outgoingServers.size());
+ }
}
/// Handle a new incoming TCP connection from a server.
@@ -763,6 +774,7 @@ void QXmppServer::_q_serverConnection(QSslSocket *socket)
// add stream
d->incomingServers.insert(stream);
+ setGauge("incoming-server.count", d->incomingServers.size());
}
/// Handle a stream disconnection for an incoming server.
@@ -773,8 +785,10 @@ void QXmppServer::_q_serverDisconnected()
if (!incoming)
return;
- if (d->incomingServers.remove(incoming))
+ if (d->incomingServers.remove(incoming)) {
incoming->deleteLater();
+ setGauge("incoming-server.count", d->incomingServers.size());
+ }
}
class QXmppSslServerPrivate