提交 3b486e3e 编写于 作者: 丁劲犇's avatar 丁劲犇 😸

Add some icons.

Fix a serious thread payload bug in trans-thread balance
上级 e6973e80
......@@ -26,3 +26,6 @@ HEADERS += zpmainframe.h \
network/zp_net_threadpool.h
FORMS += zpmainframe.ui
RESOURCES += \
resource.qrc
......@@ -80,16 +80,18 @@ void zp_net_ThreadPool::on_New_Arrived_Client(qintptr socketDescriptor)
int nsz = m_vec_NetTransThreads.size();
int nMinPay = 0x7fffffff;
int nMinIdx = -1;
for (int i=0;i<nsz && nMinIdx!=0;i++)
for (int i=0;i<nsz && nMinPay!=0;i++)
{
if (m_vec_NetTransThreads[i]->isActive()==false)
continue;
int nPat = m_vec_NetTransThreads[i]->CurrentClients();
if (nPat<nMinPay)
{
nMinPay = nPat;
nMinIdx = i;
}
//qDebug()<<i<<" "<<nPat<<" "<<nMinIdx;
}
if (nMinIdx>=0 && nMinIdx<nsz)
emit evt_EstablishConnection(m_vec_NetTransThreads[nMinIdx],socketDescriptor);
......
<RCC>
<qresource prefix="/icons">
<file>Resources/_40Icon Silver Reverse.png</file>
<file>Resources/+_Sign.png</file>
<file>Resources/+_Sign_Alt.png</file>
<file>Resources/0_9.png</file>
<file>Resources/3floppy_mount.png</file>
<file>Resources/3floppy_mount-1.png</file>
<file>Resources/3floppy_mount-2.png</file>
<file>Resources/3floppy_mount-3.png</file>
<file>Resources/3floppy_unmount.png</file>
<file>Resources/3floppy_unmount-1.png</file>
<file>Resources/3floppy_unmount-2.png</file>
<file>Resources/3floppy_unmount-3.png</file>
<file>Resources/3floppy_unmount-4.png</file>
<file>Resources/010-3.png</file>
<file>Resources/10-3.png</file>
<file>Resources/019-1.png</file>
<file>Resources/019-3.png</file>
<file>Resources/19-1.png</file>
<file>Resources/27_Martin.png</file>
<file>Resources/033-1.png</file>
<file>Resources/37.png</file>
<file>Resources/049-1.png</file>
<file>Resources/0062.png</file>
<file>Resources/0098.png</file>
<file>Resources/0104.png</file>
<file>Resources/0109.png</file>
<file>Resources/0126.png</file>
<file>Resources/165c, 180c.png</file>
<file>Resources/3018.png</file>
<file>Resources/4003.png</file>
<file>Resources/4011.png</file>
<file>Resources/4013.png</file>
<file>Resources/4018.png</file>
<file>Resources/4021.png</file>
<file>Resources/A-1 009.png</file>
<file>Resources/Alienware (13).png</file>
<file>Resources/Alienware (27).png</file>
<file>Resources/Alienware (28).png</file>
<file>Resources/Alienware (29).png</file>
<file>Resources/Backup drive.png</file>
<file>Resources/Backup-1.png</file>
<file>Resources/BackUp-4.png</file>
<file>Resources/Battery (1).png</file>
<file>Resources/Battery Charged.png</file>
<file>Resources/Battery -No charge.png</file>
<file>Resources/Blizzard17.png</file>
<file>Resources/bluetooth256.png</file>
<file>Resources/Burn CD-1.png</file>
<file>Resources/cn1.png</file>
<file>Resources/cn2.png</file>
<file>Resources/cn3.png</file>
<file>Resources/cn4.png</file>
<file>Resources/cn5.png</file>
<file>Resources/cn6.png</file>
<file>Resources/cn7.png</file>
<file>Resources/cn8.png</file>
<file>Resources/cn9.png</file>
<file>Resources/cn10.png</file>
<file>Resources/cn11.png</file>
<file>Resources/cn12.png</file>
<file>Resources/cn13.png</file>
<file>Resources/coffee.png</file>
<file>Resources/Color Classic Green.png</file>
<file>Resources/Color Classic, Performa 250, 275.png</file>
<file>Resources/Color Classic.png</file>
<file>Resources/Color, Blueberry.png</file>
<file>Resources/Color, Bondi.png</file>
<file>Resources/Color, Bondi-1.png</file>
<file>Resources/Color, Grape.png</file>
<file>Resources/Color, Graphite.png</file>
<file>Resources/Color, Indigo.png</file>
<file>Resources/Color, Lemon.png</file>
<file>Resources/Color, Lime.png</file>
<file>Resources/Color, Ruby.png</file>
<file>Resources/Color, Sage.png</file>
<file>Resources/Color, Strawberry.png</file>
<file>Resources/Color, Tangerine.png</file>
<file>Resources/Color, Titanium.png</file>
<file>Resources/Crystal_folder09.png</file>
<file>Resources/Crystal_folder10.png</file>
<file>Resources/Crystal_folder18.png</file>
<file>Resources/Crystal_folder19.png</file>
<file>Resources/Digital Image Bmp.png</file>
<file>Resources/DimageViewer.png</file>
<file>Resources/Folder Graphite-1.png</file>
<file>Resources/Folder Online aqua.png</file>
<file>Resources/hanukkah_03.png</file>
<file>Resources/terminalserver.png</file>
</qresource>
</RCC>
......@@ -6,7 +6,7 @@ ZPMainFrame::ZPMainFrame(QWidget *parent) :
{
ui->setupUi(this);
m_nTimerId = startTimer(500);
m_pool = new zp_net_ThreadPool (4096);
connect (m_pool,&zp_net_ThreadPool::evt_Message,this,&ZPMainFrame::on_evt_Message);
......@@ -18,7 +18,7 @@ ZPMainFrame::ZPMainFrame(QWidget *parent) :
m_pool->AddListeningAddress("10302",QHostAddress::Any,10302);
m_pool->AddListeningAddress("10202",QHostAddress::Any,10202);
m_pool->AddClientTransThreads(2);
m_pool->AddClientTransThreads(4);
}
ZPMainFrame::~ZPMainFrame()
......@@ -80,3 +80,21 @@ void ZPMainFrame::on_evt_Data_transferred(QObject * /*clientHandle*/,qint64 /
{
}
void ZPMainFrame::timerEvent(QTimerEvent * e)
{
if (e->timerId()==m_nTimerId)
{
QString strNetStatus;
QStringList lstListeners = m_pool->ListenerNames();
strNetStatus += tr("Current Listen Threads: %1\n").arg(lstListeners.size());
for (int i=0;i<lstListeners.size();i++)
strNetStatus += tr("\tListen Threads %1: %2\n").arg(i+1).arg(lstListeners.at(i));
int nClientThreads = m_pool->TransThreadNum();
strNetStatus += tr("Current Trans Threads: %1\n").arg(nClientThreads);
for (int i=0;i<nClientThreads;i++)
strNetStatus += tr("\tTrans Threads %1 hold %2 Client Sockets.\n").arg(i+1).arg(m_pool->totalClients(i));
ui->plainTextEdit_status_net->setPlainText(strNetStatus);
}
}
......@@ -17,10 +17,11 @@ public:
protected:
void changeEvent(QEvent *e);
void timerEvent(QTimerEvent *);
private:
Ui::ZPMainFrame *ui;
zp_net_ThreadPool * m_pool;
int m_nTimerId;
public slots:
//These Message is nessery.-------------------------------------
void on_evt_Message(const QString &);
......
......@@ -6,29 +6,72 @@
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
<width>452</width>
<height>310</height>
</rect>
</property>
<property name="windowTitle">
<string>ZPMainFrame</string>
</property>
<widget class="QWidget" name="centralWidget"/>
<widget class="QWidget" name="centralWidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab_network">
<attribute name="icon">
<iconset resource="resource.qrc">
<normaloff>:/icons/Resources/Alienware (27).png</normaloff>:/icons/Resources/Alienware (27).png</iconset>
</attribute>
<attribute name="title">
<string>Network</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPlainTextEdit" name="plainTextEdit_status_net"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_task">
<attribute name="icon">
<iconset resource="resource.qrc">
<normaloff>:/icons/Resources/Backup drive.png</normaloff>:/icons/Resources/Backup drive.png</iconset>
</attribute>
<attribute name="title">
<string>Task</string>
</attribute>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>19</height>
<width>452</width>
<height>23</height>
</rect>
</property>
<widget class="QMenu" name="menu_Control">
<property name="title">
<string>&amp;Control</string>
</property>
<addaction name="action_Start_Stop"/>
<addaction name="separator"/>
<addaction name="actionExit"/>
</widget>
<widget class="QMenu" name="menu_Help">
<property name="title">
<string>&amp;Help</string>
</property>
<addaction name="action_About"/>
</widget>
<addaction name="menu_Control"/>
<addaction name="menu_Help"/>
</widget>
<widget class="QToolBar" name="mainToolBar">
<attribute name="toolBarArea">
......@@ -37,10 +80,45 @@
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<addaction name="action_Start_Stop"/>
<addaction name="separator"/>
<addaction name="action_About"/>
</widget>
<widget class="QStatusBar" name="statusBar"/>
<action name="actionExit">
<property name="text">
<string>E&amp;xit</string>
</property>
</action>
<action name="action_Start_Stop">
<property name="checkable">
<bool>true</bool>
</property>
<property name="icon">
<iconset resource="resource.qrc">
<normaloff>:/icons/Resources/cn11.png</normaloff>
<normalon>:/icons/Resources/cn6.png</normalon>:/icons/Resources/cn11.png</iconset>
</property>
<property name="text">
<string>&amp;Start/Stop</string>
</property>
<property name="toolTip">
<string>Start or stop the server</string>
</property>
</action>
<action name="action_About">
<property name="icon">
<iconset resource="resource.qrc">
<normaloff>:/icons/Resources/4013.png</normaloff>:/icons/Resources/4013.png</iconset>
</property>
<property name="text">
<string>&amp;About</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<resources>
<include location="resource.qrc"/>
</resources>
<connections/>
</ui>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册