Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
def046eb
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
def046eb
编写于
2月 17, 2020
作者:
陶建辉(Jeff)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
made minor changes
上级
770ca34e
变更
2
展开全部
显示空白变更内容
内联
并排
Showing
2 changed file
with
741 addition
and
1106 deletion
+741
-1106
src/inc/trpc.h
src/inc/trpc.h
+22
-63
src/rpc/src/trpc.c
src/rpc/src/trpc.c
+719
-1043
未找到文件。
src/inc/trpc.h
浏览文件 @
def046eb
...
...
@@ -33,83 +33,42 @@ extern "C" {
#define TAOS_SOCKET_TYPE_NAME_TCP "tcp"
#define TAOS_SOCKET_TYPE_NAME_UDP "udp"
#define TAOS_ID_ASSIGNED 0
#define TAOS_ID_FREE 1
#define TAOS_ID_REALLOCATE 2
#define TAOS_CONN_SOCKET_TYPE_S() ((strcasecmp(tsSocketType, TAOS_SOCKET_TYPE_NAME_UDP) == 0)? TAOS_CONN_UDPS:TAOS_CONN_TCPS)
#define TAOS_CONN_SOCKET_TYPE_C() ((strcasecmp(tsSocketType, TAOS_SOCKET_TYPE_NAME_UDP) == 0)? TAOS_CONN_UDPC:TAOS_CONN_TCPC)
#define taosSendMsgToPeer(x, y, z) taosSendMsgToPeerH(x, y, z, NULL)
#define taosOpenRpcChann(x, y, z) taosOpenRpcChannWithQ(x,y,z,NULL)
#define taosBuildReqMsg(x, y) taosBuildReqMsgWithSize(x, y, 512)
#define taosBuildRspMsg(x, y) taosBuildRspMsgWithSize(x, y, 512)
extern
int
tsRpcHeadSize
;
typedef
struct
{
char
*
localIp
;
// local IP used
uint16_t
localPort
;
// local port
char
*
label
;
// for debug purpose
int
numOfThreads
;
// number of threads to handle connections
void
*
(
*
fp
)(
char
*
,
void
*
,
void
*
);
// function to process the incoming msg
void
*
qhandle
;
// queue handle
int
bits
;
// number of bits for sessionId
int
numOfChanns
;
// number of channels
int
sessionsPerChann
;
// number of sessions per channel
int
idMgmt
;
// TAOS_ID_ASSIGNED, TAOS_ID_FREE
void
*
(
*
fp
)(
char
type
,
char
*
pCont
,
int
contLen
,
void
*
handle
,
int
index
);
// function to process the incoming msg
int
sessions
;
// number of sessions allowed
int
connType
;
// TAOS_CONN_UDP, TAOS_CONN_TCPC, TAOS_CONN_TCPS
int
idleTime
;
// milliseconds, 0 means idle timer is disabled
int
noFree
;
// not free buffer
void
(
*
efp
)(
int
cid
);
// call back function to process not activated chann
int
(
*
afp
)(
char
*
meterId
,
char
*
spi
,
char
*
encrypt
,
uint8_t
*
secret
,
uint8_t
*
ckey
);
// call back to retrieve auth info
}
SRpcInit
;
typedef
struct
{
int
cid
;
// channel ID
int
sid
;
// session ID
char
*
meterId
;
// meter ID
uint32_t
peerId
;
// peer link ID
void
*
shandle
;
// pointer returned by taosOpenRpc
void
*
ahandle
;
// handle provided by app
char
*
peerIp
;
// peer IP string
uint16_t
peerPort
;
// peer port
char
*
meterId
;
// meter ID
char
spi
;
// security parameter index
char
encrypt
;
// encrypt algorithm
char
*
secret
;
// key for authentication
char
*
ckey
;
// ciphering key
}
SRpcConnInit
;
extern
int
tsRpcHeadSize
;
void
*
taosOpenRpc
(
SRpcInit
*
pRpc
);
void
taosCloseRpc
(
void
*
);
int
taosOpenRpcChannWithQ
(
void
*
handle
,
int
cid
,
int
sessions
,
void
*
qhandle
);
void
taosCloseRpcChann
(
void
*
handle
,
int
cid
);
void
*
taosOpenRpcConn
(
SRpcConnInit
*
pInit
,
uint8_t
*
code
);
void
taosCloseRpcConn
(
void
*
thandle
);
void
taosStopRpcConn
(
void
*
thandle
);
int
taosSendMsgToPeerH
(
void
*
thandle
,
char
*
pCont
,
int
contLen
,
void
*
ahandle
);
char
*
taosBuildReqHeader
(
void
*
param
,
char
type
,
char
*
msg
);
char
*
taosBuildReqMsgWithSize
(
void
*
,
char
type
,
int
size
);
char
*
taosBuildRspMsgWithSize
(
void
*
,
char
type
,
int
size
);
int
taosSendSimpleRsp
(
void
*
thandle
,
char
rsptype
,
char
code
);
int
taosSetSecurityInfo
(
int
cid
,
int
sid
,
char
*
id
,
int
spi
,
int
encrypt
,
char
*
secret
,
char
*
ckey
);
char
*
secret
;
// key for authentication
char
*
ckey
;
// ciphering key
int
(
*
afp
)
(
char
*
meterId
,
char
*
spi
,
char
*
encrypt
,
uint8_t
*
secret
,
uint8_t
*
ckey
);
// call back to retrieve auth info
}
SRpcInit
;
void
taosGetRpcConnInfo
(
void
*
thandle
,
uint32_t
*
peerId
,
uint32_t
*
peerIp
,
uint16_t
*
peerPort
,
int
*
cid
,
int
*
sid
);
typedef
struct
{
int16_t
index
;
int16_t
numOfIps
;
uint32_t
ip
[
TSDB_MAX_REPLICA
];
}
SRpcIpSet
;
void
*
rpcOpen
(
SRpcInit
*
pRpc
);
void
rpcClose
(
void
*
);
char
*
rpcMallocCont
(
int
contLen
);
void
rpcFreeCont
(
char
*
pCont
);
void
rpcSendRequest
(
void
*
thandle
,
SRpcIpSet
ipSet
,
char
msgType
,
void
*
pCont
,
int
contLen
,
void
*
ahandle
);
void
rpcSendResponse
(
void
*
pConn
,
void
*
pCont
,
int
contLen
);
void
rpcSendSimpleRsp
(
void
*
pConn
,
int32_t
code
);
int
taosGetOutType
(
void
*
thandle
);
#ifdef __cplusplus
}
...
...
src/rpc/src/trpc.c
浏览文件 @
def046eb
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录