Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
colorEagleStdio
zoompipeline
提交
745bd500
zoompipeline
项目概览
colorEagleStdio
/
zoompipeline
通知
181
Star
12
Fork
4
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
zoompipeline
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
745bd500
编写于
3月 12, 2014
作者:
丁劲犇
😸
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
PREPARE TO JOIN
上级
3a8660d0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
45 deletion
+43
-45
ZoomPipeline_FuncSvr/cluster/zp_clusterterm.cpp
ZoomPipeline_FuncSvr/cluster/zp_clusterterm.cpp
+19
-21
ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h
ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h
+24
-24
未找到文件。
ZoomPipeline_FuncSvr/cluster/zp_clusterterm.cpp
浏览文件 @
745bd500
#include "zp_clusterterm.h"
#include "zp_clusterterm.h"
namespace
ZP_Cluster
{
namespace
ZP_Cluster
{
zp_ClusterTerm
::
zp_ClusterTerm
(
const
QString
&
name
,
int
nTransThreads
,
int
nWorkingThreads
,
QObject
*
parent
)
:
zp_ClusterTerm
::
zp_ClusterTerm
(
const
QString
&
name
,
QObject
*
parent
)
:
QObject
(
parent
)
QObject
(
parent
)
,
m_strTermName
(
name
)
,
m_strTermName
(
name
)
{
{
m_pClusterEng
=
new
ZPTaskEngine
::
zp_pipeline
(
this
);
m_pClusterEng
=
new
ZPTaskEngine
::
zp_pipeline
(
this
);
m_pClusterEng
->
addThreads
(
nWorkingThreads
);
m_pClusterNet
=
new
ZPNetwork
::
zp_net_ThreadPool
(
8192
,
this
);
m_pClusterNet
=
new
ZPNetwork
::
zp_net_ThreadPool
(
8192
,
this
);
m_pClusterNet
->
AddClientTransThreads
(
nTransThreads
);
}
}
void
zp_ClusterTerm
::
StartListen
(
const
QHostAddress
&
addr
,
int
nPort
)
void
zp_ClusterTerm
::
StartListen
(
const
QHostAddress
&
addr
,
int
nPort
)
{
{
m_pClusterNet
->
AddListeningAddress
(
m_strTermName
,
addr
,
nPort
,
false
);
m_pClusterNet
->
AddListeningAddress
(
m_strTermName
,
addr
,
nPort
,
false
);
}
}
bool
zp_ClusterTerm
::
JoinCluster
(
const
QHostAddress
&
addr
,
int
nPort
)
bool
zp_ClusterTerm
::
JoinCluster
(
const
QHostAddress
&
addr
,
int
nPort
)
{
{
return
m_pClusterNet
->
connectTo
(
addr
,
nPort
);
return
m_pClusterNet
->
connectTo
(
addr
,
nPort
);
}
}
bool
zp_ClusterTerm
::
canExit
()
bool
zp_ClusterTerm
::
canExit
()
{
{
return
m_pClusterEng
->
canClose
()
&&
m_pClusterNet
->
CanExit
();
return
m_pClusterEng
->
canClose
()
&&
m_pClusterNet
->
CanExit
();
}
}
}
}
ZoomPipeline_FuncSvr/cluster/zp_clusterterm.h
浏览文件 @
745bd500
...
@@ -8,31 +8,31 @@
...
@@ -8,31 +8,31 @@
#include "../pipeline/zp_pltaskbase.h"
#include "../pipeline/zp_pltaskbase.h"
namespace
ZP_Cluster
{
namespace
ZP_Cluster
{
//!this class enable server processes can
//!this class enable server processes can
//! communicate with each other.
//! communicate with each other.
class
zp_ClusterTerm
:
public
QObject
class
zp_ClusterTerm
:
public
QObject
{
{
Q_OBJECT
Q_OBJECT
public:
public:
explicit
zp_ClusterTerm
(
const
QString
&
name
,
int
nTransThreads
=
4
,
int
nWorkingThreads
=
4
,
QObject
*
parent
=
0
);
explicit
zp_ClusterTerm
(
const
QString
&
name
,
QObject
*
parent
=
0
);
//cluster status
//cluster status
ZPNetwork
::
zp_net_ThreadPool
*
netEng
()
{
return
m_pClusterNet
;}
ZPNetwork
::
zp_net_ThreadPool
*
netEng
()
{
return
m_pClusterNet
;}
ZPTaskEngine
::
zp_pipeline
*
taskEng
()
{
return
m_pClusterEng
;}
ZPTaskEngine
::
zp_pipeline
*
taskEng
()
{
return
m_pClusterEng
;}
bool
canExit
();
bool
canExit
();
protected:
protected:
QString
m_strTermName
;
//the Terminal's name
QString
m_strTermName
;
//the Terminal's name
ZPNetwork
::
zp_net_ThreadPool
*
m_pClusterNet
;
ZPNetwork
::
zp_net_ThreadPool
*
m_pClusterNet
;
ZPTaskEngine
::
zp_pipeline
*
m_pClusterEng
;
ZPTaskEngine
::
zp_pipeline
*
m_pClusterEng
;
signals:
signals:
public
slots
:
public
slots
:
//!Start listen, this term can be connected by newly joined terms in future.
//!Start listen, this term can be connected by newly joined terms in future.
void
StartListen
(
const
QHostAddress
&
addr
,
int
nPort
);
void
StartListen
(
const
QHostAddress
&
addr
,
int
nPort
);
//!Join cluster, using existing term (addr:nPort)
//!Join cluster, using existing term (addr:nPort)
//!as soon as connection established, more existing terms will be sent to this term,
//!as soon as connection established, more existing terms will be sent to this term,
//!an p2p connection will start
//!an p2p connection will start
bool
JoinCluster
(
const
QHostAddress
&
addr
,
int
nPort
);
bool
JoinCluster
(
const
QHostAddress
&
addr
,
int
nPort
);
};
};
}
}
#endif // ZP_CLUSTERTERM_H
#endif // ZP_CLUSTERTERM_H
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录