[Qt] show number of in/out connections in debug console
This commit is contained in:
parent
aefbf6e30c
commit
8e29623077
3 changed files with 28 additions and 4 deletions
|
@ -39,9 +39,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
|
||||
|
|
|
@ -25,6 +25,13 @@ enum BlockSource {
|
|||
BLOCK_SOURCE_NETWORK
|
||||
};
|
||||
|
||||
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
|
||||
{
|
||||
|
@ -36,7 +43,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();
|
||||
|
||||
|
|
|
@ -349,7 +349,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, int countOfPeers)
|
||||
|
|
Loading…
Reference in a new issue