return GetDifficulty(GetLastBlockIndex(pindexBest,false));
}
-int ClientModel::getNumConnections() const
+int ClientModel::getNumConnections(uint8_t 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
#include <QObject>
+#include <stdint.h>
+
class OptionsModel;
class AddressTableModel;
class TransactionTableModel;
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
{
double getPoSKernelPS();
double getDifficulty(bool fProofofStake);
- int getNumConnections() const;
+ //! Return number of connections, default is in- and outbound (total)
+ int getNumConnections(uint8_t flags = CONNECTIONS_ALL) const;
int getNumBlocks() const;
int getNumBlocksAtStartup();
<context>
<name>RPCConsole</name>
<message>
+ <location filename="../rpcconsole.cpp" line="352"/>
+ <source>Inbound:</source>
+ <translation>Входящие:</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="353"/>
+ <source>Outbound:</source>
+ <translation>Исходящие:</translation>
+ </message>
+ <message>
<location filename="../forms/rpcconsole.ui" line="118"/>
<source>Using BerkeleyDB version</source>
<translation>Используется версия BerkeleyDB</translation>
void RPCConsole::setNumConnections(int count)
{
- ui->numberOfConnections->setText(QString::number(count));
+ if (!clientModel)
+ return;
+
+ QString connections = QString::number(count) + " (";
+ connections += tr("Inbound:") + " " + QString::number(clientModel->getNumConnections(CONNECTIONS_IN)) + " / ";
+ connections += tr("Outbound:") + " " + QString::number(clientModel->getNumConnections(CONNECTIONS_OUT)) + ")";
+
+ ui->numberOfConnections->setText(connections);
}
void RPCConsole::setNumBlocks(int count, int countOfPeers)