📄 statisticsdlg.cpp
字号:
stattree.SetItemText(down_toh[i], cbuffer);
i++;
// Server Overhead
cbuffer.Format(GetResString(IDS_SOVERHEAD),
CastItoXBytes(theStats.GetDownDataOverheadServer() +
thePrefs.GetDownOverheadServer(), false, false),
CastItoIShort(theStats.GetDownDataOverheadServerPackets() +
thePrefs.GetDownOverheadServerPackets()));
stattree.SetItemText(down_toh[i], cbuffer);
i++;
// Kad Overhead
cbuffer.Format(GetResString(IDS_KADOVERHEAD),
CastItoXBytes(theStats.GetDownDataOverheadKad() +
thePrefs.GetDownOverheadKad(), false, false),
CastItoIShort(theStats.GetDownDataOverheadKadPackets() +
thePrefs.GetDownOverheadKadPackets()));
stattree.SetItemText(down_toh[i], cbuffer);
i++;
}
} // - End Transfer -> Downloads -> Cumulative Section
} // - End Transfer -> Downloads Section
// TRANSFER-> UPLOADS SECTION
if (forceUpdate || stattree.IsExpanded(h_upload))
{
uint64 UpOHTotal = 0;
uint64 UpOHTotalPackets = 0;
// TRANSFER -> UPLOADS -> SESSION SECTION
if (forceUpdate || stattree.IsExpanded(h_up_session))
{
// Uploaded Data
cbuffer.Format(GetResString(IDS_STATS_UDATA),CastItoXBytes(theStats.sessionSentBytes, false, false));
stattree.SetItemText(up_S[0], cbuffer);
if (forceUpdate || stattree.IsExpanded(up_S[0]))
{
// Uploaded Data By Client
if (forceUpdate || stattree.IsExpanded(hup_scb))
{
int i = 0;
uint64 UpDataTotal = thePrefs.GetUpSessionClientData();
uint64 UpDataClient = thePrefs.GetUpData_EMULE();
double percentClientTransferred = 0;
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
cbuffer.Format( _T("eMule: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ) , percentClientTransferred);
stattree.SetItemText( up_scb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetUpData_EDONKEYHYBRID();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eD Hybrid: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ) , percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetUpData_EDONKEY();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eDonkey: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetUpData_AMULE();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("aMule: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetUpData_MLDONKEY();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("MLdonkey: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetUpData_SHAREAZA();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("Shareaza: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetUpData_EMULECOMPAT();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eM Compat: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_scb[i] , cbuffer );
i++;
}
// Uploaded Data By Port
if (forceUpdate || stattree.IsExpanded(hup_spb))
{
int i = 0;
uint64 PortDataDefault = thePrefs.GetUpDataPort_4662();
uint64 PortDataOther = thePrefs.GetUpDataPort_OTHER();
uint64 PortDataTotal = thePrefs.GetUpSessionPortData();
double percentPortTransferred = 0;
if ( PortDataTotal!=0 && PortDataDefault!=0 )
percentPortTransferred = (double) 100 * PortDataDefault / PortDataTotal;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_PRTDEF) , CastItoXBytes( PortDataDefault, false, false ) , percentPortTransferred);
stattree.SetItemText( up_spb[i] , cbuffer );
i++;
if ( PortDataTotal!=0 && PortDataOther!=0 )
percentPortTransferred = (double) 100 * PortDataOther / PortDataTotal;
else
percentPortTransferred = 0;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_PRTOTHER) , CastItoXBytes( PortDataOther, false, false ) , percentPortTransferred);
stattree.SetItemText( up_spb[i] , cbuffer );
i++;
}
// Uploaded Data By Source
if (forceUpdate || stattree.IsExpanded(hup_ssb))
{
int i = 0;
uint64 DataSourceFile = thePrefs.GetUpData_File();
uint64 DataSourcePF = thePrefs.GetUpData_Partfile();
uint64 DataSourceTotal = thePrefs.GetUpSessionDataFile();
double percentFileTransferred = 0;
if ( DataSourceTotal!=0 && DataSourceFile!=0 )
percentFileTransferred = (double) 100 * DataSourceFile / DataSourceTotal;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_DSFILE) , CastItoXBytes( DataSourceFile, false, false ) , percentFileTransferred);
stattree.SetItemText( up_ssb[i] , cbuffer );
i++;
if ( DataSourceTotal!=0 && DataSourcePF!=0 )
percentFileTransferred = (double) 100 * DataSourcePF / DataSourceTotal;
else
percentFileTransferred = 0;
cbuffer.Format( _T("%s: %s (%1.1f%%)") , GetResString(IDS_STATS_DSPF) , CastItoXBytes( DataSourcePF, false, false ) , percentFileTransferred);
stattree.SetItemText( up_ssb[i] , cbuffer );
i++;
}
}
// Amount of data uploaded to friends
cbuffer.Format(GetResString(IDS_STATS_UDATA_FRIENDS),CastItoXBytes(theStats.sessionSentBytesToFriend, false, false));
stattree.SetItemText(up_S[1], cbuffer);
// Set fully Active Uploads
cbuffer.Format(GetResString(IDS_STATS_ACTUL_ZZ),theApp.uploadqueue->GetActiveUploadsCount()); //theApp.uploadqueue->GetUploadQueueLength()
stattree.SetItemText(up_S[2], cbuffer);
// Set Set Total Uploads
cbuffer.Format(GetResString(IDS_STATS_TOTALUL),theApp.uploadqueue->GetUploadQueueLength());
stattree.SetItemText(up_S[3], cbuffer);
// Set Queue Length
cbuffer.Format(GetResString(IDS_STATS_WAITINGUSERS),theApp.uploadqueue->GetWaitingUserCount());
stattree.SetItemText(up_S[4], cbuffer);
// Set Upload Sessions
statGoodSessions = theApp.uploadqueue->GetSuccessfullUpCount() + theApp.uploadqueue->GetUploadQueueLength();
statBadSessions = theApp.uploadqueue->GetFailedUpCount();
cbuffer.Format(_T("%s: %u"), GetResString(IDS_STATS_ULSES), statGoodSessions + statBadSessions);
stattree.SetItemText(up_S[5], cbuffer);
if (forceUpdate || stattree.IsExpanded(up_S[5]))
{
// Set Successful Upload Sessions & Average Uploaded Per Session
if (statGoodSessions>0)
{ // Blackholes are when God divided by 0
percentSessions = (double) 100*statGoodSessions/(statGoodSessions+statBadSessions);
cbuffer.Format(_T("%s: %s"), GetResString(IDS_STATS_AVGDATAULSES), CastItoXBytes( theStats.sessionSentBytes / statGoodSessions, false, false) );
}
else
{
percentSessions = 0;
cbuffer.Format( _T("%s: %s") , GetResString(IDS_STATS_AVGDATAULSES) , GetResString(IDS_FSTAT_WAITING) );
}
stattree.SetItemText(up_ssessions[2], cbuffer);
cbuffer.Format(GetResString(IDS_STATS_SUCCUPCOUNT),statGoodSessions,percentSessions);
stattree.SetItemText(up_ssessions[0], cbuffer);
// Set Failed Upload Sessions
if (percentSessions != 0 && statBadSessions > 0)
percentSessions = 100 - percentSessions; // There were some good sessions and bad ones...
else if (percentSessions == 0 && statBadSessions > 0)
percentSessions = 100; // There were bad sessions and no good ones, must be 100%
else
percentSessions = 0; // No sessions at all, or no bad ones.
cbuffer.Format(GetResString(IDS_STATS_FAILUPCOUNT),statBadSessions,percentSessions);
stattree.SetItemText(up_ssessions[1], cbuffer);
// Set Avg Upload time
//DWORD running=theApp.uploadqueue->GetAverageUpTime();
cbuffer.Format(GetResString(IDS_STATS_AVEUPTIME),CastSecondsToLngHM(theApp.uploadqueue->GetAverageUpTime()));
stattree.SetItemText(up_ssessions[3], cbuffer);
}
// Calculate Upline OH Totals
UpOHTotal = theStats.GetUpDataOverheadFileRequest() +
theStats.GetUpDataOverheadSourceExchange() +
theStats.GetUpDataOverheadServer() +
theStats.GetUpDataOverheadKad() +
theStats.GetUpDataOverheadOther();
UpOHTotalPackets = theStats.GetUpDataOverheadFileRequestPackets() +
theStats.GetUpDataOverheadSourceExchangePackets() +
theStats.GetUpDataOverheadServerPackets() +
theStats.GetUpDataOverheadKadPackets() +
theStats.GetUpDataOverheadOtherPackets();
// Total Upline Overhead
cbuffer.Format(GetResString(IDS_TOVERHEAD), CastItoXBytes( UpOHTotal, false, false ), CastItoIShort(UpOHTotalPackets));
stattree.SetItemText(hup_soh, cbuffer);
if (forceUpdate || stattree.IsExpanded(hup_soh))
{
int i = 0;
// File Request Overhead
cbuffer.Format(GetResString(IDS_FROVERHEAD), CastItoXBytes( theStats.GetUpDataOverheadFileRequest(), false, false ), CastItoIShort(theStats.GetUpDataOverheadFileRequestPackets()));
stattree.SetItemText(up_soh[i], cbuffer);
i++;
// Source Exchanged Overhead
cbuffer.Format(GetResString(IDS_SSOVERHEAD), CastItoXBytes( theStats.GetUpDataOverheadSourceExchange(), false, false ), CastItoIShort(theStats.GetUpDataOverheadSourceExchangePackets()));
stattree.SetItemText(up_soh[i], cbuffer);
i++;
// Server Overhead
cbuffer.Format(GetResString(IDS_SOVERHEAD),
CastItoXBytes(theStats.GetUpDataOverheadServer(), false, false),
CastItoIShort(theStats.GetUpDataOverheadServerPackets()));
stattree.SetItemText(up_soh[i], cbuffer);
i++;
// Kad Overhead
cbuffer.Format(GetResString(IDS_KADOVERHEAD),
CastItoXBytes(theStats.GetUpDataOverheadKad(), false, false),
CastItoIShort(theStats.GetUpDataOverheadKadPackets()));
stattree.SetItemText(up_soh[i], cbuffer);
i++;
}
} // - End Transfer -> Uploads -> Session Section
// TRANSFER -> UPLOADS -> CUMULATIVE SECTION
if (forceUpdate || stattree.IsExpanded(h_up_total))
{
// Uploaded Data
cbuffer.Format(GetResString(IDS_STATS_UDATA),CastItoXBytes( theStats.sessionSentBytes+thePrefs.GetTotalUploaded(), false, false));
stattree.SetItemText(up_T[0],cbuffer);
if (forceUpdate || stattree.IsExpanded(up_T[0]))
{
// Uploaded Data By Client
if (forceUpdate || stattree.IsExpanded(hup_tcb))
{
int i = 0;
uint64 UpDataTotal = thePrefs.GetUpTotalClientData();
uint64 UpDataClient = thePrefs.GetCumUpData_EMULE();
double percentClientTransferred = 0;
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
cbuffer.Format( _T("eMule: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ) , percentClientTransferred);
stattree.SetItemText( up_tcb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetCumUpData_EDONKEYHYBRID();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eD Hybrid: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ) , percentClientTransferred );
stattree.SetItemText( up_tcb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetCumUpData_EDONKEY();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eDonkey: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_tcb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetCumUpData_AMULE();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("aMule: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_tcb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetCumUpData_MLDONKEY();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("MLdonkey: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_tcb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetCumUpData_SHAREAZA();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("Shareaza: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, false ), percentClientTransferred );
stattree.SetItemText( up_tcb[i] , cbuffer );
i++;
UpDataClient = thePrefs.GetCumUpData_EMULECOMPAT();
if ( UpDataTotal!=0 && UpDataClient!=0 )
percentClientTransferred = (double) 100 * UpDataClient / UpDataTotal;
else
percentClientTransferred = 0;
cbuffer.Format( _T("eM Compat: %s (%1.1f%%)") , CastItoXBytes( UpDataClient, false, fal
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -