Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
de12d9c5
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
de12d9c5
编写于
3月 21, 2022
作者:
S
Shengliang Guan
提交者:
GitHub
3月 21, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #10864 from taosdata/feature/shm
shm
上级
a409c076
40491557
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
32 addition
and
15 deletion
+32
-15
include/common/tmsg.h
include/common/tmsg.h
+3
-3
source/dnode/vnode/src/inc/vnd.h
source/dnode/vnode/src/inc/vnd.h
+12
-6
source/dnode/vnode/src/vnd/vnodeMgr.c
source/dnode/vnode/src/vnd/vnodeMgr.c
+17
-6
未找到文件。
include/common/tmsg.h
浏览文件 @
de12d9c5
...
...
@@ -2324,9 +2324,9 @@ struct SRpcMsg;
struct
SEpSet
;
struct
SMgmtWrapper
;
typedef
int32_t
(
*
PutToQueueFp
)(
struct
SMgmtWrapper
*
pWrapper
,
struct
SRpcMsg
*
pReq
);
typedef
int32_t
(
*
SendReqFp
)(
struct
SMgmtWrapper
*
pWrapper
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
rpcMsg
);
typedef
int32_t
(
*
SendMnodeReqFp
)(
struct
SMgmtWrapper
*
pWrapper
,
struct
SRpcMsg
*
rpcMsg
);
typedef
void
(
*
SendRspFp
)(
struct
SMgmtWrapper
*
pWrapper
,
struct
SRpcMsg
*
rpcMsg
);
typedef
int32_t
(
*
SendReqFp
)(
struct
SMgmtWrapper
*
pWrapper
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
);
typedef
int32_t
(
*
SendMnodeReqFp
)(
struct
SMgmtWrapper
*
pWrapper
,
struct
SRpcMsg
*
pReq
);
typedef
void
(
*
SendRspFp
)(
struct
SMgmtWrapper
*
pWrapper
,
struct
SRpcMsg
*
pRsp
);
#ifdef __cplusplus
}
...
...
source/dnode/vnode/src/inc/vnd.h
浏览文件 @
de12d9c5
...
...
@@ -46,15 +46,18 @@ typedef struct SVnodeTask {
typedef
struct
SVnodeMgr
{
td_mode_flag_t
vnodeInitFlag
;
// For commit
bool
stop
;
uint16_t
nthreads
;
TdThread
*
threads
;
bool
stop
;
uint16_t
nthreads
;
TdThread
*
threads
;
TdThreadMutex
mutex
;
TdThreadCond
hasTask
;
TD_DLIST
(
SVnodeTask
)
queue
;
// For vnode Mgmt
PutToQueueFp
putToQueryQFp
;
SendReqFp
sendReqFp
;
PutToQueueFp
putToQueryQFp
;
PutToQueueFp
putToFetchQFp
;
SendReqFp
sendReqFp
;
SendMnodeReqFp
sendMnodeReqFp
;
SendRspFp
sendRspFp
;
}
SVnodeMgr
;
extern
SVnodeMgr
vnodeMgr
;
...
...
@@ -85,7 +88,10 @@ struct SVnode {
int
vnodeScheduleTask
(
SVnodeTask
*
task
);
int32_t
vnodePutToVQueryQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
);
void
vnodeSendReq
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
);
int32_t
vnodePutToVFetchQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
);
int32_t
vnodeSendReq
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
);
int32_t
vnodeSendMnodeReq
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
);
void
vnodeSendRsp
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pRsp
);
#define vFatal(...) \
do { \
...
...
source/dnode/vnode/src/vnd/vnodeMgr.c
浏览文件 @
de12d9c5
...
...
@@ -26,7 +26,10 @@ int vnodeInit(const SVnodeOpt *pOption) {
vnodeMgr
.
stop
=
false
;
vnodeMgr
.
putToQueryQFp
=
pOption
->
putToQueryQFp
;
vnodeMgr
.
putToFetchQFp
=
pOption
->
putToFetchQFp
;
vnodeMgr
.
sendReqFp
=
pOption
->
sendReqFp
;
vnodeMgr
.
sendMnodeReqFp
=
pOption
->
sendMnodeReqFp
;
vnodeMgr
.
sendRspFp
=
pOption
->
sendRspFp
;
// Start commit handers
if
(
pOption
->
nthreads
>
0
)
{
...
...
@@ -90,15 +93,23 @@ int vnodeScheduleTask(SVnodeTask* pTask) {
}
int32_t
vnodePutToVQueryQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
)
{
if
(
pVnode
==
NULL
||
pVnode
->
pMeta
==
NULL
||
vnodeMgr
.
putToQueryQFp
==
NULL
)
{
terrno
=
TSDB_CODE_VND_APP_ERROR
;
return
-
1
;
}
return
(
*
vnodeMgr
.
putToQueryQFp
)(
pVnode
->
pWrapper
,
pReq
);
}
void
vnodeSendReq
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
)
{
(
*
vnodeMgr
.
sendReqFp
)(
pVnode
->
pWrapper
,
epSet
,
pReq
);
int32_t
vnodePutToVFetchQ
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
)
{
return
(
*
vnodeMgr
.
putToFetchQFp
)(
pVnode
->
pWrapper
,
pReq
);
}
int32_t
vnodeSendReq
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pReq
)
{
return
(
*
vnodeMgr
.
sendReqFp
)(
pVnode
->
pWrapper
,
epSet
,
pReq
);
}
int32_t
vnodeSendMnodeReq
(
SVnode
*
pVnode
,
struct
SRpcMsg
*
pReq
)
{
return
(
*
vnodeMgr
.
sendMnodeReqFp
)(
pVnode
->
pWrapper
,
pReq
);
}
void
vnodeSendRsp
(
SVnode
*
pVnode
,
struct
SEpSet
*
epSet
,
struct
SRpcMsg
*
pRsp
)
{
(
*
vnodeMgr
.
sendRspFp
)(
pVnode
->
pWrapper
,
pRsp
);
}
/* ------------------------ STATIC METHODS ------------------------ */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录