zp_clusterterm.cpp 2.2 KB
Newer Older
1 2
#include "zp_clusterterm.h"
namespace ZP_Cluster{
丁劲犇's avatar
丁劲犇 已提交
3 4 5 6 7 8
	zp_ClusterTerm::zp_ClusterTerm(const QString & name,QObject *parent ) :
		QObject(parent)
	  ,m_strTermName(name)
	{
		m_pClusterEng = new ZPTaskEngine::zp_pipeline(this);
		m_pClusterNet = new ZPNetwork::zp_net_ThreadPool(8192,this);
丁劲犇's avatar
丁劲犇 已提交
9 10
		connect(m_pClusterNet,&ZPNetwork::zp_net_ThreadPool::evt_Message, this,&zp_ClusterTerm::evt_Message);
		connect(m_pClusterNet,&ZPNetwork::zp_net_ThreadPool::evt_SocketError, this,&zp_ClusterTerm::evt_SocketError);
丁劲犇's avatar
丁劲犇 已提交
11 12 13 14 15
		connect(m_pClusterNet,&ZPNetwork::zp_net_ThreadPool::evt_Data_recieved, this,&zp_ClusterTerm::on_evt_Data_recieved);
		connect(m_pClusterNet,&ZPNetwork::zp_net_ThreadPool::evt_Data_transferred, this,&zp_ClusterTerm::on_evt_Data_transferred);
		connect(m_pClusterNet,&ZPNetwork::zp_net_ThreadPool::evt_ClientDisconnected, this,&zp_ClusterTerm::on_evt_ClientDisconnected);
		connect(m_pClusterNet,&ZPNetwork::zp_net_ThreadPool::evt_NewClientConnected, this,&zp_ClusterTerm::on_evt_NewClientConnected);
		//connect(m_pClusterNet,&ZPNetwork::zp_net_ThreadPool::evt_ClientEncrypted, this,&zp_ClusterTerm::on_evt_ClientEncrypted);
丁劲犇's avatar
丁劲犇 已提交
16
		m_nPortPublish = 0;
丁劲犇's avatar
丁劲犇 已提交
17

丁劲犇's avatar
丁劲犇 已提交
18 19 20 21
	}
	void zp_ClusterTerm::StartListen(const QHostAddress &addr, int nPort)
	{
		m_pClusterNet->AddListeningAddress(m_strTermName,addr,nPort,false);
22

丁劲犇's avatar
丁劲犇 已提交
23
	}
丁劲犇's avatar
丁劲犇 已提交
24
	bool zp_ClusterTerm::JoinCluster(const QHostAddress &addr, int nPort,bool bSSL)
丁劲犇's avatar
丁劲犇 已提交
25
	{
丁劲犇's avatar
丁劲犇 已提交
26
		return m_pClusterNet->connectTo(addr,nPort,bSSL);
丁劲犇's avatar
丁劲犇 已提交
27 28 29 30 31
	}
	bool zp_ClusterTerm::canExit()
	{
		return m_pClusterEng->canClose() && m_pClusterNet->CanExit();
	}
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
	//this event indicates new client connected.
	void  zp_ClusterTerm::on_evt_NewClientConnected(QObject * /*clientHandle*/)
	{

	}

	//this event indicates new client encrypted.
	void  zp_ClusterTerm::on_evt_ClientEncrypted(QObject * /*clientHandle*/)
	{

	}

	//this event indicates a client disconnected.
	void  zp_ClusterTerm::on_evt_ClientDisconnected(QObject * /*clientHandle*/)
	{

	}

	//some data arrival
	void  zp_ClusterTerm::on_evt_Data_recieved(QObject *  /*clientHandle*/,const QByteArray & /*datablock*/ )
	{

	}

	//a block of data has been successfuly sent
	void  zp_ClusterTerm::on_evt_Data_transferred(QObject *   /*clientHandle*/,qint64 /*bytes sent*/)
	{

	}
61
}