serverCalculateByFile
服务端接收客户端的查询数据,并返回对应的value给客户端。
int calculateByFile (
DG_TeeCtx *dgTeeCtx,
DG_AlgorithmsType type,
DG_MpcFileInput *input,
DG_MpcFileOutput *output
)
参数
参数名 |
描述 |
取值范围 |
输入/输出 |
|---|---|---|---|
dgTeeCtx |
KCAL上下文信息 |
为initTeeCtx成功初始化的结果 |
输入 |
dataPath |
DG_MpcFileInput |
不能输入为NULL |
输入 |
isDeleteCache |
int |
isDeleteCache(是否删除缓存,0=false,1=true) |
输出 |
名称 |
类型 |
说明 |
filePath |
char* |
文件路径 |
pathLen |
uint32_t |
路径长度 |
dataSize |
uint64_t |
数据大小 |
返回值
- 成功:返回0。
- 失败:返回错误码。
错误码
错误码 |
错误码值 |
描述 |
特殊说明 |
|---|---|---|---|
DG_ERR_MPC_TEE_INVALID_PARAM |
4501 |
无效参数 |
- |
DG_ERR_MPC_TEE_INVALID_ALGORITHM_TYPE |
4502 |
无效算法类型 |
- |
DG_ERR_MALLOC_FAIL |
51 |
内存分配失败 |
- |
DG_ERR_MPC_TEE_DIV_IS_ZERO |
4512 |
除0异常 |
- |
DG_FAILURE |
1 |
算子执行失败 |
- |
依赖
- dgTeeCtx依赖initTeeCtx的成功初始化。
- 依赖的头文件为"data_guard_mpc.h"
示例
使用调用DG_InitPsiOpts成功后的teeOpts来调用serverCalculateByFile接口。
#include "data_guard_mpc.h" DG_MpcFileInput teeFileInput; teeFileInput.filePath = const_cast<char *>(cacheFilePath.c_str()); teeFileInput.pathLen = static_cast<uint32_t>(cacheFilePath.length());return pirOpts->serverCalculateByFile(dgTeeCtx_, &teeFileInput, isDeleteCache);
运行结果: res结果为0且output不为null。
父主题: 隐匿查询PIR类算子