From bc1f3eb592f64c82996bc62802391376456a12dc Mon Sep 17 00:00:00 2001 From: goldenhawking Date: Fri, 9 May 2014 23:41:42 +0800 Subject: [PATCH] sloved a serious bug in 7*24 stability test. A signal and a slot passing const QByteArray & type paras, will cause lift cycle problems. using Value-pass instead. ---- QString, QByteArray supports ref-count and auto-delete , also, these classes support least-copying, deep-copy will only take place, when the data is about to be changed. so, in singnals and slots, using QString, QByteArray instead of const QString & and const QByteArray & , will not cause performance problem. --- FunctionalClientTest/maindialog.cpp | 4 +-- FunctionalClientTest/maindialog.h | 4 +-- QTcpClientTest/qghtcpclient.cpp | 4 +-- QTcpClientTest/qghtcpclient.h | 4 +-- QTcpClientTest/qtcpclienttest.cpp | 10 ++++--- QTcpClientTest/qtcpclienttest.h | 2 +- README.md | 5 ++-- .../cluster/zp_clusternode.cpp | 6 ++-- ZoomPipeline_FuncSvr/cluster/zp_clusternode.h | 14 +++++----- .../cluster/zp_clusterterm.cpp | 20 ++++++------- ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h | 28 +++++++++---------- .../database/databaseresource.cpp | 22 +++++++-------- .../database/databaseresource.h | 24 ++++++++-------- .../network/zp_net_threadpool.cpp | 10 +++---- .../network/zp_net_threadpool.h | 22 +++++++-------- .../network/zp_netlistenthread.cpp | 8 +++--- .../network/zp_netlistenthread.h | 10 +++---- .../network/zp_nettransthread.cpp | 4 +-- .../network/zp_nettransthread.h | 8 +++--- .../smartlink/st_client_table.cpp | 22 +++++++-------- .../smartlink/st_client_table.h | 24 ++++++++-------- .../smartlink/st_clientnode_basetrans.cpp | 4 ++- .../smartlink/st_clientnode_basetrans.h | 8 +++--- .../smartlink/st_cross_svr_node.cpp | 2 +- .../smartlink/st_cross_svr_node.h | 4 +-- ZoomPipeline_FuncSvr/zpmainframe.cpp | 14 +++++----- ZoomPipeline_FuncSvr/zpmainframe.h | 14 +++++----- 27 files changed, 154 insertions(+), 147 deletions(-) diff --git a/FunctionalClientTest/maindialog.cpp b/FunctionalClientTest/maindialog.cpp index 414a124..136b904 100644 --- a/FunctionalClientTest/maindialog.cpp +++ b/FunctionalClientTest/maindialog.cpp @@ -104,7 +104,7 @@ void MainDialog::new_data_recieved() } } } -void MainDialog::displayMessage(const QString &str) +void MainDialog::displayMessage(QString str) { model.insertRow(0,new QStandardItem(str)); while (model.rowCount()>=256) @@ -313,7 +313,7 @@ void MainDialog::on_pushButton_clientLogout_clicked() //!deal one message, affect m_currentRedOffset,m_currentMessageSize,m_currentHeader //!return bytes Used. -int MainDialog::filter_message(const QByteArray & block, int offset) +int MainDialog::filter_message(QByteArray block, int offset) { const int blocklen = block.length(); while (blocklen>offset) diff --git a/FunctionalClientTest/maindialog.h b/FunctionalClientTest/maindialog.h index a5e61f2..a9364ba 100644 --- a/FunctionalClientTest/maindialog.h +++ b/FunctionalClientTest/maindialog.h @@ -35,7 +35,7 @@ private: protected: //!deal one message, affect m_currentRedOffset,m_currentMessageSize,m_currentHeader //!return bytes Used. - int filter_message(const QByteArray &, int offset); + int filter_message(QByteArray , int offset); int deal_current_message_block(); //data items @@ -60,7 +60,7 @@ public slots: void on_client_connected(); void on_client_disconnected(); void displayError(QAbstractSocket::SocketError); - void displayMessage(const QString &str); + void displayMessage(QString str); void on_pushButton_connect_clicked(); void on_pushButton_clientLogin_clicked(); diff --git a/QTcpClientTest/qghtcpclient.cpp b/QTcpClientTest/qghtcpclient.cpp index dc4ed80..9b92699 100644 --- a/QTcpClientTest/qghtcpclient.cpp +++ b/QTcpClientTest/qghtcpclient.cpp @@ -20,7 +20,7 @@ quint32 QGHSslClient::uuid() { return m_uuid; } -void QGHSslClient::geneGlobalUUID(const QString & globalUuidFile) +void QGHSslClient::geneGlobalUUID(QString globalUuidFile) { QFile file(globalUuidFile); int ctp = 0; @@ -100,7 +100,7 @@ quint32 QGHTcpClient::uuid() { return m_uuid; } -void QGHTcpClient::geneGlobalUUID(const QString & globalUuidFile) +void QGHTcpClient::geneGlobalUUID(QString globalUuidFile) { QFile file(globalUuidFile); int ctp = 0; diff --git a/QTcpClientTest/qghtcpclient.h b/QTcpClientTest/qghtcpclient.h index 79547d2..e462eb3 100644 --- a/QTcpClientTest/qghtcpclient.h +++ b/QTcpClientTest/qghtcpclient.h @@ -11,7 +11,7 @@ public: QGHSslClient(QObject *parent,int nPayLoad = 4096); ~QGHSslClient(); quint32 uuid(); - void geneGlobalUUID(const QString & globalUuidFile); + void geneGlobalUUID(QString globalUuidFile); private: quint32 m_uuid; @@ -32,7 +32,7 @@ public: QGHTcpClient(QObject *parent,int nPayLoad = 4096); ~QGHTcpClient(); quint32 uuid(); - void geneGlobalUUID(const QString & globalUuidFile); + void geneGlobalUUID(QString globalUuidFile); private: quint32 m_uuid; int m_nPayLoad; diff --git a/QTcpClientTest/qtcpclienttest.cpp b/QTcpClientTest/qtcpclienttest.cpp index d1884b3..cc96843 100644 --- a/QTcpClientTest/qtcpclienttest.cpp +++ b/QTcpClientTest/qtcpclienttest.cpp @@ -9,7 +9,8 @@ QTcpClientTest::QTcpClientTest(QWidget *parent, Qt::WindowFlags flags) { ui.setupUi(this); //Paramenters - QSettings settings("goldenhawking club","QTcpClientTest",this); + QString iniFile = QCoreApplication::applicationFilePath()+".ini"; + QSettings settings(iniFile,QSettings::IniFormat); ui.lineEdit_ip->setText(settings.value("ip","localhost").toString()); ui.lineEdit_Port->setText(settings.value("port","23457").toString()); ui.dial->setValue(settings.value("clientNum","32").toInt()); @@ -34,7 +35,8 @@ void QTcpClientTest::on_horizontalSlider_valueChanged(int value) void QTcpClientTest::on_action_Connect_triggered(bool bConn) { //connect to the server - QSettings settings("goldenhawking club","QTcpClientTest",this); + QString iniFile = QCoreApplication::applicationFilePath()+".ini"; + QSettings settings(iniFile,QSettings::IniFormat); settings.setValue("ip",ui.lineEdit_ip->text()); settings.setValue("port",ui.lineEdit_Port->text()); settings.setValue("clientNum",ui.dial->value()); @@ -286,7 +288,7 @@ void QTcpClientTest::timerEvent(QTimerEvent * evt) } } } -void QTcpClientTest::displayMessage(const QString &str) +void QTcpClientTest::displayMessage(QString str) { model.insertRow(0,new QStandardItem(str)); while (model.rowCount()>=256) @@ -295,7 +297,7 @@ void QTcpClientTest::displayMessage(const QString &str) quint32 QTcpClientTest::getRadomUUIDDestin() { int nTotalClients = ui.dial->value(); - int nMinID = m_maxUUID - m_minUUID < nTotalClients ? m_minUUID:m_maxUUID - nTotalClients; + int nMinID = ((m_maxUUID - m_minUUID) < nTotalClients) ? m_minUUID:(m_maxUUID - nTotalClients); int nSpan = (m_maxUUID - nMinID + 1); int nChoose = rand() % nSpan; diff --git a/QTcpClientTest/qtcpclienttest.h b/QTcpClientTest/qtcpclienttest.h index 87a88cb..880daa1 100644 --- a/QTcpClientTest/qtcpclienttest.h +++ b/QTcpClientTest/qtcpclienttest.h @@ -33,7 +33,7 @@ public slots: void on_client_connected(); void on_client_disconnected(); void displayError(QAbstractSocket::SocketError); - void displayMessage(const QString &str); + void displayMessage(QString str); }; #endif // QTCPCLIENTTEST_H diff --git a/README.md b/README.md index 3ccd135..7739413 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,9 @@ Zoom-Pipeline Server , a Qt based tcp-ip c/s solution. This solution provides: * Provides a thread pool for TCP/IP data transfer. Clients' socket will run in thread pool, instead of main thread. * Provides a pipeline-style task engine, designed for heavily data process. * Provides a database resource class, enable mutithread db Access. - * Provides a Server-to-Server Cluster system, enable cross server communication.(Still in develop) - + * Provides a Server-to-Server Cluster system, enable cross server communication. + * In this example, cross - Server balance suggestion msgs will be delieved in "log-in response". Following this suggestion msg, a client can disconnect from this server, and connect to another svr which has less clients currently. + * main-branch is now in 7*24 full-payload test. ---------------------------------------- GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 diff --git a/ZoomPipeline_FuncSvr/cluster/zp_clusternode.cpp b/ZoomPipeline_FuncSvr/cluster/zp_clusternode.cpp index 31df35c..c8570d8 100644 --- a/ZoomPipeline_FuncSvr/cluster/zp_clusternode.cpp +++ b/ZoomPipeline_FuncSvr/cluster/zp_clusternode.cpp @@ -57,6 +57,8 @@ namespace ZP_Cluster{ //qDebug()<1) return -1; int nCurrSz = -1; @@ -116,7 +118,7 @@ namespace ZP_Cluster{ //!deal one message, affect m_currentRedOffset,m_currentMessageSize,m_currentHeader //!return bytes Used. - int zp_ClusterNode::filter_message(const QByteArray & block, int offset) + int zp_ClusterNode::filter_message(QByteArray block, int offset) { const int blocklen = block.length(); while (blocklen>offset) @@ -317,7 +319,7 @@ namespace ZP_Cluster{ return 0; } - bool zp_ClusterNode::deal_user_data(const QByteArray & data) + bool zp_ClusterNode::deal_user_data(QByteArray data) { emit evt_RemoteData_recieved(this->termName(),data); return true; diff --git a/ZoomPipeline_FuncSvr/cluster/zp_clusternode.h b/ZoomPipeline_FuncSvr/cluster/zp_clusternode.h index 4ba82c8..7ab722a 100644 --- a/ZoomPipeline_FuncSvr/cluster/zp_clusternode.h +++ b/ZoomPipeline_FuncSvr/cluster/zp_clusternode.h @@ -29,11 +29,11 @@ namespace ZP_Cluster{ static const int m_nMessageBlockSize = 8; //!deal one message, affect m_currentRedOffset,m_currentMessageSize,m_currentHeader //!return bytes Used. - int filter_message(const QByteArray &, int offset); + int filter_message(QByteArray , int offset); //!in Trans-Layer, it does nothing. int deal_current_message_block(); //!virtual functions, dealing with the user-defined operations. - virtual bool deal_user_data(const QByteArray &); + virtual bool deal_user_data(QByteArray ); QDateTime lastActiveTime(); @@ -78,16 +78,16 @@ namespace ZP_Cluster{ quint32 m_nRemoteClientNums; signals: - void evt_SendDataToClient(QObject * objClient,const QByteArray & dtarray); - void evt_BroadcastData(QObject * objFromClient,const QByteArray & dtarray); + void evt_SendDataToClient(QObject * objClient,QByteArray dtarray); + void evt_BroadcastData(QObject * objFromClient,QByteArray dtarray); void evt_close_client(QObject * objClient); void evt_connect_to(const QHostAddress & address , quint16 nPort,bool bSSLConn); - void evt_Message (QObject * psource,const QString &); + void evt_Message (QObject * psource,QString ); //Notify Messages - void evt_NewSvrConnected(const QString & /*svrHandle*/); + void evt_NewSvrConnected(QString /*svrHandle*/); //some data arrival - void evt_RemoteData_recieved(const QString & /*svrHandle*/,const QByteArray & /*svrHandle*/ ); + void evt_RemoteData_recieved(QString /*svrHandle*/,QByteArray /*svrHandle*/ ); }; } #endif // ZP_CLUSTERNODE_H diff --git a/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.cpp b/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.cpp index 2b2126c..c518adf 100644 --- a/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.cpp +++ b/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.cpp @@ -3,7 +3,7 @@ #include namespace ZP_Cluster{ using namespace std::placeholders; - zp_ClusterTerm::zp_ClusterTerm(const QString & name,QObject *parent ) : + zp_ClusterTerm::zp_ClusterTerm(QString name,QObject *parent ) : QObject(parent) ,m_strTermName(name) ,m_nClientNums(0) @@ -105,7 +105,7 @@ namespace ZP_Cluster{ { return m_pClusterEng; } - QString zp_ClusterTerm::setName(const QString & s) + QString zp_ClusterTerm::setName(QString s) { return m_strTermName = s; } @@ -147,7 +147,7 @@ namespace ZP_Cluster{ m_hash_mutex.unlock(); return lst; } - QHostAddress zp_ClusterTerm::SvrLANAddr(const QString & name) + QHostAddress zp_ClusterTerm::SvrLANAddr(QString name) { QHostAddress addr; m_hash_mutex.lock(); @@ -157,7 +157,7 @@ namespace ZP_Cluster{ return addr; } - int zp_ClusterTerm::SvrLANPort(const QString & name) + int zp_ClusterTerm::SvrLANPort(QString name) { int port = 0; m_hash_mutex.lock(); @@ -166,7 +166,7 @@ namespace ZP_Cluster{ m_hash_mutex.unlock(); return port; } - QHostAddress zp_ClusterTerm::SvrPubAddr(const QString & name) + QHostAddress zp_ClusterTerm::SvrPubAddr(QString name) { QHostAddress addr; m_hash_mutex.lock(); @@ -176,7 +176,7 @@ namespace ZP_Cluster{ return addr; } - int zp_ClusterTerm::SvrPubPort(const QString & name) + int zp_ClusterTerm::SvrPubPort(QString name) { int port = 0; m_hash_mutex.lock(); @@ -187,7 +187,7 @@ namespace ZP_Cluster{ } - quint32 zp_ClusterTerm::remoteClientNums(const QString & name) + quint32 zp_ClusterTerm::remoteClientNums(QString name) { quint32 res = 0; m_hash_mutex.lock(); @@ -216,7 +216,7 @@ namespace ZP_Cluster{ return true; } - zp_ClusterNode * zp_ClusterTerm::SvrNodeFromName(const QString & uuid) + zp_ClusterNode * zp_ClusterTerm::SvrNodeFromName(QString uuid) { m_hash_mutex.lock(); if (m_hash_Name2node.contains(uuid)) @@ -362,7 +362,7 @@ namespace ZP_Cluster{ } //some data arrival - void zp_ClusterTerm::on_evt_Data_recieved(QObject * clientHandle,const QByteArray & datablock ) + void zp_ClusterTerm::on_evt_Data_recieved(QObject * clientHandle,QByteArray datablock ) { //Push Clients to nodes if it is not exist bool nHashContains = false; @@ -482,7 +482,7 @@ namespace ZP_Cluster{ } m_hash_mutex.unlock(); } - void zp_ClusterTerm::SendDataToRemoteServer(const QString & svrName,const QByteArray & SourceArray) + void zp_ClusterTerm::SendDataToRemoteServer(QString svrName,QByteArray SourceArray) { int nMsgLen = sizeof(CROSS_SVR_MSG::tag_header) + SourceArray.size(); QByteArray array(nMsgLen,0); diff --git a/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h b/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h index f17e2ce..300a3ca 100644 --- a/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h +++ b/ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h @@ -18,7 +18,7 @@ namespace ZP_Cluster{ { Q_OBJECT public: - explicit zp_ClusterTerm(const QString & name,QObject *parent = 0); + explicit zp_ClusterTerm(QString name,QObject *parent = 0); /** @@ -39,15 +39,15 @@ namespace ZP_Cluster{ //Server Group Mapping public: - zp_ClusterNode * SvrNodeFromName(const QString &); + zp_ClusterNode * SvrNodeFromName(QString ); zp_ClusterNode * SvrNodeFromSocket(QObject *); QStringList SvrNames(); - quint32 remoteClientNums(const QString & name); + quint32 remoteClientNums(QString name); - QHostAddress SvrLANAddr(const QString & name); - int SvrLANPort(const QString & name); - QHostAddress SvrPubAddr(const QString & name); - int SvrPubPort(const QString & name); + QHostAddress SvrLANAddr(QString name); + int SvrLANPort(QString name); + QHostAddress SvrPubAddr(QString name); + int SvrPubPort(QString name); //Client Num set, for cross-svr balance @@ -56,7 +56,7 @@ namespace ZP_Cluster{ //Propties public: //properties. - QString setName(const QString & s); + QString setName(QString s); QString name(); //LAN Address, for other servers @@ -107,15 +107,15 @@ namespace ZP_Cluster{ QMap m_hash_sock2node; signals: - void evt_Message(QObject * ,const QString &); + void evt_Message(QObject * ,QString ); //The socket error message void evt_SocketError(QObject * senderSock ,QAbstractSocket::SocketError socketError); //this event indicates new svr successfully hand-shaked. - void evt_NewSvrConnected(const QString &/*svrHandle*/); + void evt_NewSvrConnected(QString /*svrHandle*/); //this event indicates a client disconnected. - void evt_NewSvrDisconnected(const QString &/*svrHandle*/); + void evt_NewSvrDisconnected(QString /*svrHandle*/); //some data arrival - void evt_RemoteData_recieved(const QString &/*svrHandle*/,const QByteArray & /*svrHandle*/ ); + void evt_RemoteData_recieved(QString /*svrHandle*/,QByteArray /*svrHandle*/ ); //a block of data has been successfuly sent void evt_RemoteData_transferred(QObject * /*svrHandle*/,qint64 /*bytes sent*/); @@ -127,7 +127,7 @@ namespace ZP_Cluster{ //this event indicates a client disconnected. void on_evt_ClientDisconnected(QObject * /*clientHandle*/); //some data arrival - void on_evt_Data_recieved(QObject * /*clientHandle*/,const QByteArray & /*datablock*/ ); + void on_evt_Data_recieved(QObject * /*clientHandle*/,QByteArray /*datablock*/ ); //a block of data has been successfuly sent void on_evt_Data_transferred(QObject * /*clientHandle*/,qint64 /*bytes sent*/); @@ -141,7 +141,7 @@ namespace ZP_Cluster{ void KickDeadClients(); //Send Data to Server - void SendDataToRemoteServer(const QString & svrName,const QByteArray &); + void SendDataToRemoteServer(QString svrName,QByteArray ); }; } diff --git a/ZoomPipeline_FuncSvr/database/databaseresource.cpp b/ZoomPipeline_FuncSvr/database/databaseresource.cpp index e7e31ad..6378b41 100644 --- a/ZoomPipeline_FuncSvr/database/databaseresource.cpp +++ b/ZoomPipeline_FuncSvr/database/databaseresource.cpp @@ -19,7 +19,7 @@ namespace ZPDatabase{ * @param strDBName the database name * @return QSqlDatabase return the database object */ - QSqlDatabase DatabaseResource::databse(const QString & strDBName) + QSqlDatabase DatabaseResource::databse(QString strDBName) { QMutexLocker locker(&m_mutex_reg); if (false==QSqlDatabase::contains(strDBName)) @@ -43,7 +43,7 @@ namespace ZPDatabase{ } //!Remove Database - void DatabaseResource::remove_connection(const QString & strDBName) + void DatabaseResource::remove_connection(QString strDBName) { QMutexLocker locker(&m_mutex_reg); if (true==QSqlDatabase::contains(strDBName)) @@ -81,15 +81,15 @@ namespace ZPDatabase{ * @return bool succeed : true */ bool DatabaseResource::addConnection( - const QString & connName, - const QString & type, - const QString & HostAddr, + QString connName, + QString type, + QString HostAddr, int port, - const QString & dbName, - const QString & User, - const QString & Pass, - const QString & ExtraOptions, - const QString & testSQL + QString dbName, + QString User, + QString Pass, + QString ExtraOptions, + QString testSQL ) { QMutexLocker locker(&m_mutex_reg); @@ -144,7 +144,7 @@ namespace ZPDatabase{ * @param connName the connection name which to be tested. * @return bool the check result. */ - bool DatabaseResource::confirmConnection (const QString & connName) + bool DatabaseResource::confirmConnection (QString connName) { QMutexLocker locker(&m_mutex_reg); if (false==m_dbNames.contains(connName)) diff --git a/ZoomPipeline_FuncSvr/database/databaseresource.h b/ZoomPipeline_FuncSvr/database/databaseresource.h index df1f497..8a48afc 100644 --- a/ZoomPipeline_FuncSvr/database/databaseresource.h +++ b/ZoomPipeline_FuncSvr/database/databaseresource.h @@ -39,23 +39,23 @@ namespace ZPDatabase{ //!Get an database connection belong to current thread. //!if database does not exist, it will be added using dbtype - QSqlDatabase databse(const QString & strDBName); + QSqlDatabase databse(QString strDBName); //!add connection connName, return true if ok. bool addConnection( - const QString & connName, - const QString & type, - const QString & HostAddr, + QString connName, + QString type, + QString HostAddr, int port, - const QString & dbName, - const QString & User, - const QString & Pass, - const QString & ExtraOptions, - const QString & testSQL + QString dbName, + QString User, + QString Pass, + QString ExtraOptions, + QString testSQL ); - void remove_connection(const QString & strDBName); + void remove_connection(QString strDBName); void remove_connections(); - bool confirmConnection (const QString & connName); + bool confirmConnection (QString connName); QMap currentDatabaseConnections(){return m_dbNames;} @@ -68,7 +68,7 @@ namespace ZPDatabase{ QMutex m_mutex_reg; QMap m_dbNames; signals: - void evt_Message(QObject *,const QString &); + void evt_Message(QObject *,QString ); public slots: }; diff --git a/ZoomPipeline_FuncSvr/network/zp_net_threadpool.cpp b/ZoomPipeline_FuncSvr/network/zp_net_threadpool.cpp index 015b585..5c2196a 100644 --- a/ZoomPipeline_FuncSvr/network/zp_net_threadpool.cpp +++ b/ZoomPipeline_FuncSvr/network/zp_net_threadpool.cpp @@ -90,7 +90,7 @@ namespace ZPNetwork{ * @param nPort Listening Port. in Linux, this value should larger than 1024. * @param bSSLConn True means this address using OpenSSL . False means plain TCP */ - void zp_net_Engine::AddListeningAddress(const QString & id,const QHostAddress & address , quint16 nPort,bool bSSLConn /*= true*/) + void zp_net_Engine::AddListeningAddress(QString id,const QHostAddress & address , quint16 nPort,bool bSSLConn /*= true*/) { if (m_map_netListenThreads.find(id)==m_map_netListenThreads.end()) { @@ -123,7 +123,7 @@ namespace ZPNetwork{ * @fn zp_net_Engine::RemoveListeningAddress * @param id Listening-Address name specified by AddListeningAddress() */ - void zp_net_Engine::RemoveListeningAddress(const QString & id) + void zp_net_Engine::RemoveListeningAddress(QString id) { //m_mutex_listen.lock(); if (m_map_netListenThreads.find(id)!=m_map_netListenThreads.end()) @@ -198,7 +198,7 @@ namespace ZPNetwork{ * @fn zp_net_Engine::on_ListenClosed * @param id the terminated thread id. */ - void zp_net_Engine::on_ListenClosed(const QString & id) + void zp_net_Engine::on_ListenClosed(QString id) { //m_mutex_listen.lock(); if (m_map_netListenThreads.find(id)!=m_map_netListenThreads.end()) @@ -374,7 +374,7 @@ namespace ZPNetwork{ * @param objClient The destin client * @param dtarray data to be sent */ - void zp_net_Engine::SendDataToClient(QObject * objClient,const QByteArray & dtarray) + void zp_net_Engine::SendDataToClient(QObject * objClient,QByteArray dtarray) { emit evt_SendDataToClient(objClient,dtarray); } @@ -396,7 +396,7 @@ namespace ZPNetwork{ * @param objFromClient the source object. * @param dtarray data to be sent. */ - void zp_net_Engine::BroadcastData(QObject * objFromClient,const QByteArray & dtarray) + void zp_net_Engine::BroadcastData(QObject * objFromClient,QByteArray dtarray) { emit evt_BroadcastData(objFromClient,dtarray); } diff --git a/ZoomPipeline_FuncSvr/network/zp_net_threadpool.h b/ZoomPipeline_FuncSvr/network/zp_net_threadpool.h index 5bde883..08775ff 100644 --- a/ZoomPipeline_FuncSvr/network/zp_net_threadpool.h +++ b/ZoomPipeline_FuncSvr/network/zp_net_threadpool.h @@ -30,9 +30,9 @@ namespace ZPNetwork{ //Listening Ctrl //Begin a listening socket at special address and port. The socket will be activated as soon as possible - void AddListeningAddress(const QString & id,const QHostAddress & address , quint16 nPort,bool bSSLConn = true); + void AddListeningAddress(QString id,const QHostAddress & address , quint16 nPort,bool bSSLConn = true); //Remove a listening socket at special address and port.The socket will be deactivated as soon as possible - void RemoveListeningAddress(const QString & id); + void RemoveListeningAddress(QString id); //Remove all listening sockets void RemoveAllAddresses(); @@ -73,7 +73,7 @@ namespace ZPNetwork{ bool TransThreadDel(zp_netTransThread * pThreadObj); signals: - void evt_Message(QObject * pSource,const QString &); + void evt_Message(QObject * pSource,QString ); //The socket error message void evt_SocketError(QObject * senderSock ,QAbstractSocket::SocketError socketError); //this event indicates new client connected. @@ -83,31 +83,31 @@ namespace ZPNetwork{ //this event indicates a client disconnected. void evt_ClientDisconnected(QObject * /*clientHandle*/); //some data arrival - void evt_Data_recieved(QObject * /*clientHandle*/,const QByteArray & /*datablock*/ ); + void evt_Data_recieved(QObject * /*clientHandle*/,QByteArray /*datablock*/ ); //a block of data has been successfuly sent void evt_Data_transferred(QObject * /*clientHandle*/,qint64 /*bytes sent*/); //Internal Message for ctrl.------------------------------------ //Listen Control - void startListen(const QString & id); - void stopListen(const QString & id); + void startListen(QString id); + void stopListen(QString id); void evt_EstablishConnection(QObject * threadid,qintptr socketDescriptor); void evt_FireConnection(QObject * threadid,const QHostAddress & hostAddr, quint16 port); //Trans Control,for intenal thread usage - void evt_SendDataToClient(QObject * objClient,const QByteArray & dtarray); - void evt_BroadcastData(QObject * objFromClient,const QByteArray & dtarray); + void evt_SendDataToClient(QObject * objClient,QByteArray dtarray); + void evt_BroadcastData(QObject * objFromClient,QByteArray dtarray); void evt_KickClient(QObject *); void evt_DeactivteImmediately(zp_netTransThread *); void evt_KickAll(zp_netTransThread *); protected slots: void on_New_Arrived_Client(qintptr socketDescriptor); - void on_ListenClosed(const QString & id); + void on_ListenClosed(QString id); public slots: //Call this function to send data to client - void SendDataToClient(QObject * objClient,const QByteArray & dtarray); + void SendDataToClient(QObject * objClient,QByteArray dtarray); //Call this function to send data to client - void BroadcastData(QObject * objFromClient,const QByteArray & dtarray); + void BroadcastData(QObject * objFromClient,QByteArray dtarray); //Close client Immediatele void KickClients(QObject * object); diff --git a/ZoomPipeline_FuncSvr/network/zp_netlistenthread.cpp b/ZoomPipeline_FuncSvr/network/zp_netlistenthread.cpp index 283e57b..3a9dbf9 100644 --- a/ZoomPipeline_FuncSvr/network/zp_netlistenthread.cpp +++ b/ZoomPipeline_FuncSvr/network/zp_netlistenthread.cpp @@ -1,6 +1,6 @@ #include "zp_netlistenthread.h" namespace ZPNetwork{ - zp_netListenThread::zp_netListenThread(const QString & id, QHostAddress address ,quint16 port,bool bSSL,QObject *parent) + zp_netListenThread::zp_netListenThread(QString id, QHostAddress address ,quint16 port,bool bSSL,QObject *parent) :QObject(parent) ,m_tcpServer(0) ,m_id(id) @@ -26,7 +26,7 @@ namespace ZPNetwork{ * @param id the Listening ID that zp_net_Engine really * want to operate. */ - void zp_netListenThread::startListen(const QString & id) + void zp_netListenThread::startListen(QString id) { if (id==m_id) { @@ -48,11 +48,11 @@ namespace ZPNetwork{ } /** - * @brief this method is very similar to zp_netListenThread::startListen(const QString & id) + * @brief this method is very similar to zp_netListenThread::startListen(QString id) * * @param id the Listening ID that zp_net_Engine really want to operate. */ - void zp_netListenThread::stopListen(const QString & id) + void zp_netListenThread::stopListen(QString id) { if (id==m_id) { diff --git a/ZoomPipeline_FuncSvr/network/zp_netlistenthread.h b/ZoomPipeline_FuncSvr/network/zp_netlistenthread.h index 4700801..d184348 100644 --- a/ZoomPipeline_FuncSvr/network/zp_netlistenthread.h +++ b/ZoomPipeline_FuncSvr/network/zp_netlistenthread.h @@ -24,16 +24,16 @@ namespace ZPNetwork{ quint16 m_port; bool m_bSSLConn; public: - explicit zp_netListenThread(const QString & id, QHostAddress address ,quint16 port,bool bSSL = true,QObject *parent = 0); + explicit zp_netListenThread(QString id, QHostAddress address ,quint16 port,bool bSSL = true,QObject *parent = 0); bool bSSLConn(); signals: - void evt_Message(QObject *,const QString &); - void evt_ListenClosed(const QString &); + void evt_Message(QObject *,QString ); + void evt_ListenClosed(QString ); //This message will tell thread pool, a new incoming connection has arrived. void evt_NewClientArrived(qintptr socketDescriptor); public slots: - void startListen(const QString & id); - void stopListen(const QString & id); + void startListen(QString id); + void stopListen(QString id); }; } #endif // ZP_NETLISTENTHREAD_H diff --git a/ZoomPipeline_FuncSvr/network/zp_nettransthread.cpp b/ZoomPipeline_FuncSvr/network/zp_nettransthread.cpp index b76e2a7..ca2fc29 100644 --- a/ZoomPipeline_FuncSvr/network/zp_nettransthread.cpp +++ b/ZoomPipeline_FuncSvr/network/zp_nettransthread.cpp @@ -324,7 +324,7 @@ namespace ZPNetwork{ } } - void zp_netTransThread::SendDataToClient(QObject * objClient,const QByteArray & dtarray) + void zp_netTransThread::SendDataToClient(QObject * objClient,QByteArray dtarray) { m_mutex_protect.lock(); if (m_clientList.find(objClient)==m_clientList.end()) @@ -355,7 +355,7 @@ namespace ZPNetwork{ } } } - void zp_netTransThread::BroadcastData(QObject * objClient,const QByteArray & dtarray) + void zp_netTransThread::BroadcastData(QObject * objClient,QByteArray dtarray) { m_mutex_protect.lock(); QList clientList = m_clientList.keys(); diff --git a/ZoomPipeline_FuncSvr/network/zp_nettransthread.h b/ZoomPipeline_FuncSvr/network/zp_nettransthread.h index de8fc21..95b364f 100644 --- a/ZoomPipeline_FuncSvr/network/zp_nettransthread.h +++ b/ZoomPipeline_FuncSvr/network/zp_nettransthread.h @@ -49,9 +49,9 @@ namespace ZPNetwork{ //This slot dealing with possive connecting-to method. void startConnection(QObject * threadid,const QHostAddress & addr, quint16 port); //sending dtarray to objClient. dtarray will be pushed into m_buffer_sending - void SendDataToClient(QObject * objClient,const QByteArray & dtarray); + void SendDataToClient(QObject * objClient,QByteArray dtarray); //Broadcast dtarray to every client except objFromClient itself - void BroadcastData(QObject * objFromClient,const QByteArray & dtarray); + void BroadcastData(QObject * objFromClient,QByteArray dtarray); //Set terminate mark, the thread will quit after last client quit. void Deactivate(); //terminate this thread immediately @@ -72,12 +72,12 @@ namespace ZPNetwork{ //SSL Encrypted started void on_encrypted(); signals: - void evt_Message(QObject * psource,const QString &); + void evt_Message(QObject * psource,QString ); void evt_SocketError(QObject * senderSock ,QAbstractSocket::SocketError socketError); void evt_NewClientConnected(QObject * client); void evt_ClientEncrypted(QObject * client); void evt_ClientDisconnected(QObject * client); - void evt_Data_recieved(QObject * ,const QByteArray & ); + void evt_Data_recieved(QObject * ,QByteArray ); void evt_Data_transferred(QObject * client,qint64); }; } diff --git a/ZoomPipeline_FuncSvr/smartlink/st_client_table.cpp b/ZoomPipeline_FuncSvr/smartlink/st_client_table.cpp index 3802ac0..4b92843 100644 --- a/ZoomPipeline_FuncSvr/smartlink/st_client_table.cpp +++ b/ZoomPipeline_FuncSvr/smartlink/st_client_table.cpp @@ -63,7 +63,7 @@ namespace ExampleServer{ { return m_strDBName_useraccount; } - void st_client_table::setDatabase_UserAcct(const QString & s) + void st_client_table::setDatabase_UserAcct(QString s) { m_strDBName_useraccount = s; } @@ -71,7 +71,7 @@ namespace ExampleServer{ { return m_strDBName_event; } - void st_client_table::setDatabase_Event(const QString & s) + void st_client_table::setDatabase_Event(QString s) { m_strDBName_event = s; } @@ -79,7 +79,7 @@ namespace ExampleServer{ { return m_largeFileFolder; } - void st_client_table::setLargeFileFolder(const QString & s) + void st_client_table::setLargeFileFolder(QString s) { m_largeFileFolder = s; } @@ -249,7 +249,7 @@ namespace ExampleServer{ } //some data arrival - void st_client_table::on_evt_Data_recieved(QObject * clientHandle,const QByteArray & datablock ) + void st_client_table::on_evt_Data_recieved(QObject * clientHandle,QByteArray datablock ) { //Push Clients to nodes if it is not exist bool nHashContains = false; @@ -290,7 +290,7 @@ namespace ExampleServer{ } //this event indicates new svr successfully hand-shaked. - void st_client_table::on_evt_NewSvrConnected(const QString & svrHandle) + void st_client_table::on_evt_NewSvrConnected(QString svrHandle) { //Send All Client UUIDs to new Svr m_hash_mutex.lock(); @@ -330,7 +330,7 @@ namespace ExampleServer{ m_pCluster->SendDataToRemoteServer(svr,array); } } - bool st_client_table::SendToNode(quint32 uuid, const QByteArray & msg) + bool st_client_table::SendToNode(quint32 uuid, QByteArray msg) { bool bres = false; m_hash_mutex.lock(); @@ -349,7 +349,7 @@ namespace ExampleServer{ } //this event indicates a client disconnected. - void st_client_table::on_evt_NewSvrDisconnected(const QString & svrHandle) + void st_client_table::on_evt_NewSvrDisconnected(QString svrHandle) { //remove all client-maps belongs to this server. this->cross_svr_del_uuids(svrHandle,NULL,0); @@ -357,7 +357,7 @@ namespace ExampleServer{ } //some data arrival - void st_client_table::on_evt_RemoteData_recieved(const QString & svrHandle,const QByteArray & array ) + void st_client_table::on_evt_RemoteData_recieved(QString svrHandle,QByteArray array ) { emit evt_Message(this,tr("Recieved %1 bytes Msg from ").arg(array.length()) + svrHandle); } @@ -378,7 +378,7 @@ namespace ExampleServer{ return pNode; } //reg new uuids in m_hash_remoteClient2SvrName - void st_client_table::cross_svr_add_uuids(const QString & svrname,quint32 * pUUIDs, int nUUIDs) + void st_client_table::cross_svr_add_uuids(QString svrname,quint32 * pUUIDs, int nUUIDs) { m_mutex_cross_svr_map.lock(); for (int i=0;i1) return -1; int nCurrSz = -1; @@ -108,7 +110,7 @@ namespace ExampleServer{ } //!deal one message, affect m_currentRedOffset,m_currentMessageSize,m_currentHeader //!return bytes Used. - int st_clientNode_baseTrans::filter_message(const QByteArray & block, int offset) + int st_clientNode_baseTrans::filter_message(QByteArray block, int offset) { const int blocklen = block.length(); while (blocklen>offset) diff --git a/ZoomPipeline_FuncSvr/smartlink/st_clientnode_basetrans.h b/ZoomPipeline_FuncSvr/smartlink/st_clientnode_basetrans.h index 311fe27..a59d79f 100644 --- a/ZoomPipeline_FuncSvr/smartlink/st_clientnode_basetrans.h +++ b/ZoomPipeline_FuncSvr/smartlink/st_clientnode_basetrans.h @@ -35,7 +35,7 @@ namespace ExampleServer{ protected: //!deal one message, affect m_currentRedOffset,m_currentMessageSize,m_currentHeader //!return bytes Used. - int filter_message(const QByteArray &, int offset); + int filter_message(QByteArray , int offset); //!in Trans-Layer, it does nothing. virtual int deal_current_message_block(); @@ -67,10 +67,10 @@ namespace ExampleServer{ signals: - void evt_SendDataToClient(QObject * objClient,const QByteArray & dtarray); - void evt_BroadcastData(QObject * objFromClient,const QByteArray & dtarray); + void evt_SendDataToClient(QObject * objClient,QByteArray dtarray); + void evt_BroadcastData(QObject * objFromClient,QByteArray dtarray); void evt_close_client(QObject * objClient); - void evt_Message (QObject * psource,const QString &); + void evt_Message (QObject * psource,QString ); }; } diff --git a/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.cpp b/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.cpp index c9ae6b6..82ef348 100644 --- a/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.cpp +++ b/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.cpp @@ -15,7 +15,7 @@ namespace ExampleServer{ return m_st_Header.messageLen + sizeof(EXAMPLE_CROSSSVR_MSG::tag_msgHearder) - m_currStMegSize ; } - bool st_cross_svr_node::deal_user_data(const QByteArray &array) + bool st_cross_svr_node::deal_user_data(QByteArray array) { const char * pData = array.constData(); int nBlockSize = array.size(); diff --git a/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.h b/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.h index 3a3f505..abeca6d 100644 --- a/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.h +++ b/ZoomPipeline_FuncSvr/smartlink/st_cross_svr_node.h @@ -12,7 +12,7 @@ namespace ExampleServer{ void setClientTable(st_client_table * table); protected: //!virtual functions, dealing with the user-defined operations. - virtual bool deal_user_data(const QByteArray &); + virtual bool deal_user_data(QByteArray ); bool deal_msg(); int st_bytesLeft(); protected: @@ -27,7 +27,7 @@ namespace ExampleServer{ EXAMPLE_CROSSSVR_MSG::tag_msgHearder m_st_Header; quint32 m_destin_uuid; signals: - void evt_SendToNode(quint32 uuid, const QByteArray & msg); + void evt_SendToNode(quint32 uuid, QByteArray msg); }; } #endif // ST_CROSS_SVR_NODE_H diff --git a/ZoomPipeline_FuncSvr/zpmainframe.cpp b/ZoomPipeline_FuncSvr/zpmainframe.cpp index 011fd68..6cdddfa 100644 --- a/ZoomPipeline_FuncSvr/zpmainframe.cpp +++ b/ZoomPipeline_FuncSvr/zpmainframe.cpp @@ -161,7 +161,7 @@ void ZPMainFrame::initUI() this->statusBar()->addWidget(m_pStatusLabel); } -void ZPMainFrame::on_evt_MessageNetwork(QObject * psource,const QString & strMsg) +void ZPMainFrame::on_evt_MessageNetwork(QObject * psource,QString strMsg) { QDateTime dtm = QDateTime::currentDateTime(); QString msg = dtm.toString("yyyy-MM-dd HH:mm:ss.zzz") + " " + strMsg; @@ -172,7 +172,7 @@ void ZPMainFrame::on_evt_MessageNetwork(QObject * psource,const QString & strMs m_pMsgModelNetwork->removeRow(m_pMsgModelNetwork->rowCount()-1); } -void ZPMainFrame::on_evt_Message_Database(QObject * psource,const QString &strMsg) +void ZPMainFrame::on_evt_Message_Database(QObject * psource,QString strMsg) { QDateTime dtm = QDateTime::currentDateTime(); QString msg = dtm.toString("yyyy-MM-dd HH:mm:ss.zzz") + " " + strMsg; @@ -183,7 +183,7 @@ void ZPMainFrame::on_evt_Message_Database(QObject * psource,const QString &strM m_pMsgModelDatabase->removeRow(m_pMsgModelDatabase->rowCount()-1); } -void ZPMainFrame::on_evt_Message_Smartlink(QObject * psource,const QString &strMsg) +void ZPMainFrame::on_evt_Message_Smartlink(QObject * psource,QString strMsg) { QDateTime dtm = QDateTime::currentDateTime(); QString msg = dtm.toString("yyyy-MM-dd HH:mm:ss.zzz") + " " + strMsg; @@ -209,7 +209,7 @@ void ZPMainFrame::on_evt_SocketError(QObject * senderSock ,QAbstractSocket::Soc } -void ZPMainFrame::on_evt_Message_Cluster(QObject * psource,const QString & strMsg) +void ZPMainFrame::on_evt_Message_Cluster(QObject * psource,QString strMsg) { QDateTime dtm = QDateTime::currentDateTime(); QString msg = dtm.toString("yyyy-MM-dd HH:mm:ss.zzz") + " " + strMsg; @@ -384,7 +384,7 @@ void ZPMainFrame::on_action_Start_Stop_triggered(bool setordel) } -void ZPMainFrame::forkServer(const QString & config_file) +void ZPMainFrame::forkServer(QString config_file) { QSettings settings(config_file,QSettings::IniFormat); int nListeners = settings.value("settings/listeners",0).toInt(); @@ -516,7 +516,7 @@ void ZPMainFrame::on_action_About_triggered() QApplication::aboutQt(); } -void ZPMainFrame::LoadSettings(const QString & config_file) +void ZPMainFrame::LoadSettings(QString config_file) { QSettings settings(config_file,QSettings::IniFormat); int nListeners = settings.value("settings/listeners",0).toInt(); @@ -640,7 +640,7 @@ void ZPMainFrame::LoadSettings(const QString & config_file) } -void ZPMainFrame::SaveSettings(const QString & config_file) +void ZPMainFrame::SaveSettings(QString config_file) { QSettings settings(config_file,QSettings::IniFormat); int nListeners = m_pListenerModel->rowCount(); diff --git a/ZoomPipeline_FuncSvr/zpmainframe.h b/ZoomPipeline_FuncSvr/zpmainframe.h index aff131d..6944de3 100644 --- a/ZoomPipeline_FuncSvr/zpmainframe.h +++ b/ZoomPipeline_FuncSvr/zpmainframe.h @@ -56,17 +56,17 @@ private: ZP_Cluster::zp_ClusterTerm * m_pClusterTerm; int m_nTimerId; void initUI(); - void LoadSettings(const QString & config_file); - void SaveSettings(const QString & config_file); - void forkServer(const QString & config_file); + void LoadSettings(QString config_file); + void SaveSettings(QString config_file); + void forkServer(QString config_file); protected slots: - void on_evt_MessageNetwork(QObject * psource,const QString &); + void on_evt_MessageNetwork(QObject * psource,QString ); //The socket error message void on_evt_SocketError(QObject * senderSock ,QAbstractSocket::SocketError socketError); - void on_evt_Message_Cluster(QObject * psource,const QString &); - void on_evt_Message_Database(QObject * psource,const QString &); - void on_evt_Message_Smartlink(QObject * psource,const QString &); + void on_evt_Message_Cluster(QObject * psource,QString ); + void on_evt_Message_Database(QObject * psource,QString ); + void on_evt_Message_Smartlink(QObject * psource,QString ); //The socket error message void on_evt_SocketError_Cluster(QObject * senderSock ,QAbstractSocket::SocketError socketError); public slots: -- GitLab