Commit d7133844 authored by Philip Kaufmann's avatar Philip Kaufmann Committed by Pavel Vasin

[Qt] show number of in/out connections in debug console

parent f8cf7f3b
......@@ -33,9 +33,18 @@ ClientModel::~ClientModel()
unsubscribeFromCoreSignals();
}
int ClientModel::getNumConnections() const
int ClientModel::getNumConnections(unsigned int flags) const
{
return vNodes.size();
LOCK(cs_vNodes);
if (flags == CONNECTIONS_ALL) // Shortcut if we want total
return vNodes.size();
int nNum = 0;
BOOST_FOREACH(CNode* pnode, vNodes)
if (flags & (pnode->fInbound ? CONNECTIONS_IN : CONNECTIONS_OUT))
nNum++;
return nNum;
}
int ClientModel::getNumBlocks() const
......
......@@ -13,6 +13,13 @@ class QDateTime;
class QTimer;
QT_END_NAMESPACE
enum NumConnections {
CONNECTIONS_NONE = 0,
CONNECTIONS_IN = (1U << 0),
CONNECTIONS_OUT = (1U << 1),
CONNECTIONS_ALL = (CONNECTIONS_IN | CONNECTIONS_OUT),
};
/** Model for Bitcoin network client. */
class ClientModel : public QObject
{
......@@ -24,7 +31,8 @@ public:
OptionsModel *getOptionsModel();
int getNumConnections() const;
//! Return number of connections, default is in- and outbound (total)
int getNumConnections(unsigned int flags = CONNECTIONS_ALL) const;
int getNumBlocks() const;
int getNumBlocksAtStartup();
......
......@@ -345,7 +345,14 @@ void RPCConsole::message(int category, const QString &message, bool html)
void RPCConsole::setNumConnections(int count)
{
ui->numberOfConnections->setText(QString::number(count));
if (!clientModel)
return;
QString connections = QString::number(count) + " (";
connections += tr("In:") + " " + QString::number(clientModel->getNumConnections(CONNECTIONS_IN)) + " / ";
connections += tr("Out:") + " " + QString::number(clientModel->getNumConnections(CONNECTIONS_OUT)) + ")";
ui->numberOfConnections->setText(connections);
}
void RPCConsole::setNumBlocks(int count)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment