mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-29 01:16:20 -05:00
Added display of Dht Peer Connection status.
Switched on DhtWindow. git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-netupgrade@4422 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
b2e25680ac
commit
d6e2d959be
@ -92,6 +92,7 @@
|
|||||||
* #define USE_DHTWINDOW 1
|
* #define USE_DHTWINDOW 1
|
||||||
*
|
*
|
||||||
****/
|
****/
|
||||||
|
#define USE_DHTWINDOW 1
|
||||||
|
|
||||||
#ifdef USE_DHTWINDOW
|
#ifdef USE_DHTWINDOW
|
||||||
#include "dht/DhtWindow.h"
|
#include "dht/DhtWindow.h"
|
||||||
|
@ -289,14 +289,13 @@ void DhtWindow::updateNetStatus()
|
|||||||
void DhtWindow::updateNetPeers()
|
void DhtWindow::updateNetPeers()
|
||||||
{
|
{
|
||||||
|
|
||||||
#if 0
|
|
||||||
QTreeWidget *peerTreeWidget = ui->peerTreeWidget;
|
QTreeWidget *peerTreeWidget = ui->peerTreeWidget;
|
||||||
|
|
||||||
std::list<std::string> peerIds;
|
std::list<std::string> peerIds;
|
||||||
std::list<std::string> failedPeerIds;
|
|
||||||
std::list<std::string>::iterator it;
|
std::list<std::string>::iterator it;
|
||||||
mPeerNet->get_net_peers(peerIds);
|
|
||||||
mPeerNet->get_net_failedpeers(failedPeerIds);
|
rsDht->getNetPeerList(peerIds);
|
||||||
|
|
||||||
/* collate peer stats */
|
/* collate peer stats */
|
||||||
int nPeers = peerIds.size();
|
int nPeers = peerIds.size();
|
||||||
@ -323,15 +322,9 @@ void DhtWindow::updateNetPeers()
|
|||||||
#define PTW_COL_PEER_REQ_STATUS 5
|
#define PTW_COL_PEER_REQ_STATUS 5
|
||||||
|
|
||||||
#define PTW_COL_PEER_CB_MSG 6
|
#define PTW_COL_PEER_CB_MSG 6
|
||||||
|
#define PTW_COL_RSID 7
|
||||||
|
|
||||||
// These aren't that important.
|
#if 0
|
||||||
#define PTW_COL_PEER_CB_MODE 7
|
|
||||||
#define PTW_COL_PEER_CB_PROXY 8
|
|
||||||
|
|
||||||
#define PTW_COL_DHT_ADDRESS 9
|
|
||||||
#define PTW_COL_DHT_UPDATETS 10
|
|
||||||
|
|
||||||
|
|
||||||
/* clear old entries */
|
/* clear old entries */
|
||||||
int itemCount = peerTreeWidget->topLevelItemCount();
|
int itemCount = peerTreeWidget->topLevelItemCount();
|
||||||
for (int nIndex = 0; nIndex < itemCount;)
|
for (int nIndex = 0; nIndex < itemCount;)
|
||||||
@ -340,28 +333,24 @@ void DhtWindow::updateNetPeers()
|
|||||||
std::string tmpid = tmp_item->data(PTW_COL_PEERID, Qt::DisplayRole).toString().toStdString();
|
std::string tmpid = tmp_item->data(PTW_COL_PEERID, Qt::DisplayRole).toString().toStdString();
|
||||||
if (peerIds.end() == std::find(peerIds.begin(), peerIds.end(), tmpid))
|
if (peerIds.end() == std::find(peerIds.begin(), peerIds.end(), tmpid))
|
||||||
{
|
{
|
||||||
if (failedPeerIds.end() == std::find(failedPeerIds.begin(), failedPeerIds.end(), tmpid))
|
peerTreeWidget->removeItemWidget(tmp_item, 0);
|
||||||
{
|
/* remove it! */
|
||||||
peerTreeWidget->removeItemWidget(tmp_item, 0);
|
itemCount--;
|
||||||
/* remove it! */
|
|
||||||
itemCount--;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
nIndex++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
nIndex++;
|
nIndex++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
peerTreeWidget->clear();
|
||||||
|
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
for(it = peerIds.begin(); it != peerIds.end(); it++)
|
for(it = peerIds.begin(); it != peerIds.end(); it++)
|
||||||
{
|
{
|
||||||
/* find the entry */
|
/* find the entry */
|
||||||
QTreeWidgetItem *peer_item = NULL;
|
QTreeWidgetItem *peer_item = NULL;
|
||||||
|
#if 0
|
||||||
QString qpeerid = QString::fromStdString(*it);
|
QString qpeerid = QString::fromStdString(*it);
|
||||||
int itemCount = peerTreeWidget->topLevelItemCount();
|
int itemCount = peerTreeWidget->topLevelItemCount();
|
||||||
for (int nIndex = 0; nIndex < itemCount; nIndex++)
|
for (int nIndex = 0; nIndex < itemCount; nIndex++)
|
||||||
@ -373,6 +362,7 @@ void DhtWindow::updateNetPeers()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!peer_item)
|
if (!peer_item)
|
||||||
{
|
{
|
||||||
@ -382,52 +372,97 @@ void DhtWindow::updateNetPeers()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* update the data */
|
/* update the data */
|
||||||
PeerStatus status;
|
RsDhtNetPeer status;
|
||||||
mPeerNet->get_peer_status(*it, status);
|
rsDht->getNetPeerStatus(*it, status);
|
||||||
|
|
||||||
|
peer_item -> setData(PTW_COL_PEERID, Qt::DisplayRole, QString::fromStdString(status.mDhtId));
|
||||||
|
peer_item -> setData(PTW_COL_RSID, Qt::DisplayRole, QString::fromStdString(status.mRsId));
|
||||||
|
|
||||||
std::ostringstream dhtipstr;
|
std::ostringstream dhtstate;
|
||||||
if ((status.mDhtState == PN_DHT_STATE_ONLINE) || (status.mDhtState == PN_DHT_STATE_UNREACHABLE))
|
switch(status.mDhtState)
|
||||||
{
|
{
|
||||||
dhtipstr << inet_ntoa(status.mDhtAddr.sin_addr);
|
default:
|
||||||
dhtipstr << ":" << ntohs(status.mDhtAddr.sin_port);
|
case RSDHT_PEERDHT_NOT_ACTIVE:
|
||||||
|
dhtstate << "Unknown";
|
||||||
|
break;
|
||||||
|
case RSDHT_PEERDHT_SEARCHING:
|
||||||
|
dhtstate << "Searching";
|
||||||
|
break;
|
||||||
|
case RSDHT_PEERDHT_FAILURE:
|
||||||
|
dhtstate << "Failed";
|
||||||
|
break;
|
||||||
|
case RSDHT_PEERDHT_OFFLINE:
|
||||||
|
dhtstate << "offline";
|
||||||
|
nOfflinePeers++;
|
||||||
|
break;
|
||||||
|
case RSDHT_PEERDHT_UNREACHABLE:
|
||||||
|
dhtstate << "Unreachable";
|
||||||
|
nUnreachablePeers++;
|
||||||
|
break;
|
||||||
|
case RSDHT_PEERDHT_ONLINE:
|
||||||
|
dhtstate << "ONLINE";
|
||||||
|
nOnlinePeers++;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::ostringstream dhtupdatestr;
|
peer_item -> setData(PTW_COL_DHT_STATUS, Qt::DisplayRole, QString::fromStdString(dhtstate.str()));
|
||||||
dhtupdatestr << now - status.mDhtUpdateTS << " secs ago";
|
|
||||||
|
|
||||||
//std::ostringstream peerupdatestr;
|
|
||||||
//peerupdatestr << now - status.mPeerUpdateTS << " secs ago";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
peer_item -> setData(PTW_COL_PEERID, Qt::DisplayRole, QString::fromStdString(*it));
|
|
||||||
peer_item -> setData(PTW_COL_DHT_STATUS, Qt::DisplayRole, QString::fromStdString(status.mDhtStatusMsg));
|
|
||||||
peer_item -> setData(PTW_COL_DHT_ADDRESS, Qt::DisplayRole, QString::fromStdString(dhtipstr.str()));
|
|
||||||
peer_item -> setData(PTW_COL_DHT_UPDATETS, Qt::DisplayRole, QString::fromStdString(dhtupdatestr.str()));
|
|
||||||
|
|
||||||
// NOW CONNECT STATE
|
// NOW CONNECT STATE
|
||||||
std::ostringstream cpmstr;
|
std::ostringstream cpmstr;
|
||||||
switch(status.mPeerConnectMode)
|
switch(status.mPeerConnectMode)
|
||||||
{
|
{
|
||||||
case BITDHT_CONNECT_MODE_DIRECT:
|
case RSDHT_TOU_MODE_DIRECT:
|
||||||
cpmstr << "Direct";
|
cpmstr << "Direct";
|
||||||
break;
|
break;
|
||||||
case BITDHT_CONNECT_MODE_PROXY:
|
case RSDHT_TOU_MODE_PROXY:
|
||||||
cpmstr << "Proxy VIA ";
|
cpmstr << "Proxy VIA ";
|
||||||
bdStdPrintId(cpmstr, &(status.mPeerConnectProxyId));
|
cpmstr << status.mPeerConnectProxyId;
|
||||||
break;
|
break;
|
||||||
case BITDHT_CONNECT_MODE_RELAY:
|
case RSDHT_TOU_MODE_RELAY:
|
||||||
cpmstr << "Relay VIA ";
|
cpmstr << "Relay VIA ";
|
||||||
bdStdPrintId(cpmstr, &(status.mPeerConnectProxyId));
|
cpmstr << status.mPeerConnectProxyId;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
cpmstr << "None";
|
cpmstr << "None";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::ostringstream cpsstr;
|
||||||
|
switch(status.mPeerConnectState)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case RSDHT_PEERCONN_DISCONNECTED:
|
||||||
|
cpsstr << "Disconnected";
|
||||||
|
nDisconnPeers++;
|
||||||
|
break;
|
||||||
|
case RSDHT_PEERCONN_UDP_STARTED:
|
||||||
|
cpsstr << "Udp Started";
|
||||||
|
break;
|
||||||
|
case RSDHT_PEERCONN_CONNECTED:
|
||||||
|
{
|
||||||
|
cpsstr << "Connected";
|
||||||
|
break;
|
||||||
|
switch(status.mPeerConnectMode)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case RSDHT_TOU_MODE_DIRECT:
|
||||||
|
nDirectPeers++;
|
||||||
|
break;
|
||||||
|
case RSDHT_TOU_MODE_PROXY:
|
||||||
|
nProxyPeers++;
|
||||||
|
break;
|
||||||
|
case RSDHT_TOU_MODE_RELAY:
|
||||||
|
nRelayPeers++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
peer_item -> setData(PTW_COL_PEER_CONNECT_STATUS, Qt::DisplayRole, QString::fromStdString(cpsstr.str()));
|
||||||
|
|
||||||
peer_item -> setData(PTW_COL_PEER_CONNECT_STATUS, Qt::DisplayRole, QString::fromStdString(status.mPeerConnectMsg));
|
if (status.mPeerConnectState == RSDHT_PEERCONN_DISCONNECTED)
|
||||||
if (status.mPeerConnectState == PN_PEER_CONN_DISCONNECTED)
|
|
||||||
{
|
{
|
||||||
peer_item -> setData(PTW_COL_PEER_CONNECT_MODE, Qt::DisplayRole, "");
|
peer_item -> setData(PTW_COL_PEER_CONNECT_MODE, Qt::DisplayRole, "");
|
||||||
}
|
}
|
||||||
@ -440,10 +475,10 @@ void DhtWindow::updateNetPeers()
|
|||||||
std::ostringstream reqstr;
|
std::ostringstream reqstr;
|
||||||
switch(status.mPeerReqState)
|
switch(status.mPeerReqState)
|
||||||
{
|
{
|
||||||
case PN_PEER_REQ_RUNNING:
|
case RSDHT_PEERREQ_RUNNING:
|
||||||
reqstr << "Request Active";
|
reqstr << "Request Active";
|
||||||
break;
|
break;
|
||||||
case PN_PEER_REQ_STOPPED:
|
case RSDHT_PEERREQ_STOPPED:
|
||||||
reqstr << "No Request";
|
reqstr << "No Request";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -452,114 +487,9 @@ void DhtWindow::updateNetPeers()
|
|||||||
}
|
}
|
||||||
peer_item -> setData(PTW_COL_PEER_REQ_STATUS, Qt::DisplayRole, QString::fromStdString(reqstr.str()));
|
peer_item -> setData(PTW_COL_PEER_REQ_STATUS, Qt::DisplayRole, QString::fromStdString(reqstr.str()));
|
||||||
|
|
||||||
|
peer_item -> setData(PTW_COL_PEER_CB_MSG, Qt::DisplayRole, QString::fromStdString(status.mCbPeerMsg));
|
||||||
// NOW CB
|
|
||||||
std::ostringstream cbmstr;
|
|
||||||
cpmstr << status.mPeerCbMode;
|
|
||||||
|
|
||||||
std::ostringstream cbpstr;
|
|
||||||
bdStdPrintId(cbpstr, &(status.mPeerCbProxyId));
|
|
||||||
|
|
||||||
peer_item -> setData(PTW_COL_PEER_CB_MSG, Qt::DisplayRole, QString::fromStdString(status.mPeerCbMsg));
|
|
||||||
peer_item -> setData(PTW_COL_PEER_CONNECTLOGIC, Qt::DisplayRole,
|
peer_item -> setData(PTW_COL_PEER_CONNECTLOGIC, Qt::DisplayRole,
|
||||||
QString::fromStdString(status.mConnectLogic.connectState()));
|
QString::fromStdString(status.mConnectState));
|
||||||
//peer_item -> setData(PTW_COL_PEER_CB_MODE, Qt::DisplayRole, QString::fromStdString(cbmstr.str()));
|
|
||||||
//peer_item -> setData(PTW_COL_PEER_CB_PROXY, Qt::DisplayRole, QString::fromStdString(cbpstr.str()));
|
|
||||||
|
|
||||||
|
|
||||||
switch(status.mDhtState)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
case PN_DHT_STATE_UNKNOWN:
|
|
||||||
case PN_DHT_STATE_SEARCHING:
|
|
||||||
case PN_DHT_STATE_FAILURE:
|
|
||||||
case PN_DHT_STATE_OFFLINE:
|
|
||||||
nOfflinePeers++;
|
|
||||||
break;
|
|
||||||
case PN_DHT_STATE_UNREACHABLE:
|
|
||||||
nUnreachablePeers++;
|
|
||||||
break;
|
|
||||||
case PN_DHT_STATE_ONLINE:
|
|
||||||
nOnlinePeers++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
switch(status.mPeerConnectState)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
case PN_PEER_CONN_DISCONNECTED:
|
|
||||||
nDisconnPeers++;
|
|
||||||
break;
|
|
||||||
case PN_PEER_CONN_UDP_STARTED:
|
|
||||||
case PN_PEER_CONN_CONNECTED:
|
|
||||||
{
|
|
||||||
switch(status.mPeerConnectMode)
|
|
||||||
{
|
|
||||||
default:
|
|
||||||
case BITDHT_CONNECT_MODE_DIRECT:
|
|
||||||
nDirectPeers++;
|
|
||||||
break;
|
|
||||||
case BITDHT_CONNECT_MODE_PROXY:
|
|
||||||
nProxyPeers++;
|
|
||||||
break;
|
|
||||||
case BITDHT_CONNECT_MODE_RELAY:
|
|
||||||
nRelayPeers++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
for(it = failedPeerIds.begin(); it != failedPeerIds.end(); it++)
|
|
||||||
{
|
|
||||||
/* find the entry */
|
|
||||||
QTreeWidgetItem *peer_item = NULL;
|
|
||||||
QString qpeerid = QString::fromStdString(*it);
|
|
||||||
int itemCount = peerTreeWidget->topLevelItemCount();
|
|
||||||
for (int nIndex = 0; nIndex < itemCount; nIndex++)
|
|
||||||
{
|
|
||||||
QTreeWidgetItem *tmp_item = peerTreeWidget->topLevelItem(nIndex);
|
|
||||||
if (tmp_item->data(PTW_COL_PEERID, Qt::DisplayRole).toString() == qpeerid)
|
|
||||||
{
|
|
||||||
peer_item = tmp_item;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!peer_item)
|
|
||||||
{
|
|
||||||
/* insert */
|
|
||||||
peer_item = new QTreeWidgetItem();
|
|
||||||
peerTreeWidget->addTopLevelItem(peer_item);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* update the data */
|
|
||||||
PeerStatus status;
|
|
||||||
mPeerNet->get_failedpeer_status(*it, status);
|
|
||||||
|
|
||||||
peer_item -> setData(PTW_COL_PEERID, Qt::DisplayRole, QString::fromStdString(*it));
|
|
||||||
peer_item -> setData(PTW_COL_DHT_STATUS, Qt::DisplayRole, "Unknown Peer");
|
|
||||||
//peer_item -> setData(PTW_COL_DHT_ADDRESS, Qt::DisplayRole, "");
|
|
||||||
//peer_item -> setData(PTW_COL_DHT_UPDATETS, Qt::DisplayRole, "");
|
|
||||||
|
|
||||||
// NOW CONNECT STATE
|
|
||||||
peer_item -> setData(PTW_COL_PEER_CONNECT_STATUS, Qt::DisplayRole, QString::fromStdString(status.mPeerConnectMsg));
|
|
||||||
peer_item -> setData(PTW_COL_PEER_CONNECT_MODE, Qt::DisplayRole, "");
|
|
||||||
peer_item -> setData(PTW_COL_PEER_REQ_STATUS, Qt::DisplayRole, "None");
|
|
||||||
|
|
||||||
// NOW CB
|
|
||||||
peer_item -> setData(PTW_COL_PEER_CB_MSG, Qt::DisplayRole, QString::fromStdString(status.mPeerCbMsg));
|
|
||||||
//peer_item -> setData(PTW_COL_PEER_CB_MODE, Qt::DisplayRole, "");
|
|
||||||
//peer_item -> setData(PTW_COL_PEER_CB_PROXY, Qt::DisplayRole, "None");
|
|
||||||
|
|
||||||
// CONNECT LOGIC
|
|
||||||
peer_item -> setData(PTW_COL_PEER_CONNECTLOGIC, Qt::DisplayRole,
|
|
||||||
QString::fromStdString("Not a Friend"));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -577,8 +507,6 @@ void DhtWindow::updateNetPeers()
|
|||||||
QLabel *label = ui->peerSummaryLabel;
|
QLabel *label = ui->peerSummaryLabel;
|
||||||
label->setText(QString::fromStdString(connstr.str()));
|
label->setText(QString::fromStdString(connstr.str()));
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -168,6 +168,11 @@
|
|||||||
<string>Cb Status</string>
|
<string>Cb Status</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>RsId</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
Loading…
Reference in New Issue
Block a user