setTeeNodeInfos
设置全局节点信息,目前支持两方0,1节点或三方0,1,2节点。
int setTeeNodeInfos (
DG_TeeCtx *dgTeeCtx,
struct TeeNodeInfos *teeNodeInfos
)
参数
参数名 |
描述 |
取值范围 |
输入/输出 |
|---|---|---|---|
dgTeeCtx |
KCAL上下文信息 |
为initTeeCtx成功初始化的结果 |
输入 |
teeNodeInfos |
全局节点信息 |
不为NULL |
输入 |
名称 |
类型 |
说明 |
|---|---|---|
nodeId |
int |
计算方节点编号0,1,2 |
名称 |
类型 |
说明 |
|---|---|---|
nodeInfo |
TeeNodeInfo * |
多个节点信息 |
size |
unsigned long |
节点个数,目前支持两个节点或者三个节点 |
返回值
- 成功:返回0。
- 失败:返回错误码。
错误码
错误码 |
错误码值 |
描述 |
特殊说明 |
|---|---|---|---|
DG_ERR_MPC_TEE_INVALID_PARAM |
4501 |
参数校验失败 |
dgTeeCtx为NULL或teeNodeInfos为NULL |
DG_ERR_MPC_TEE_INVALID_NODE_INFO |
4503 |
无效的节点信息 |
网络参数设置不正确或全局节点个数设置不正确 |
DG_ERR_MPC_TEE_NODE_NOT_SORT_AND_START_0 |
4505 |
nodeId未按照从0编号开始 |
nodeId规定从0开始依次递增 |
示例
#include "data_guard_mpc.h" struct TeeNodeInfo teeNodes[3]; teeNodes[0].nodeId = 0; teeNodes[1].nodeId = 1; teeNodes[1].nodeId = 2; struct TeeNodeInfos allNodes; allNodes.nodeInfo = teeNodes; allNodes.size = 3; // teeOpts为DG_InitPsiOpts成功后的结果,dgTee为initTeeCtx成功后的结果 rv = teeOpts.setTeeNodeInfos(dgTee, &allNodes);
目前节点个数设置为3。
运行结果: rv为0。
调用DG_InitPsiOpts成功后的teeOpts来调用setTeeNodeInfos接口。
父主题: 隐私求交PSI类算子