offlineCalculateByFile
服务端生成文件形式的分桶数据,方便线上查询时快速查询结果。
int offlineCalculateByFile(
DG_TeeCtx *dgTeeCtx,
const DG_MpcFileInput *input,
DG_MpcFileOutput *output
)
参数
参数名 |
描述 |
取值范围 |
输入/输出 |
|---|---|---|---|
dgTeeCtx |
KCAL上下文信息 |
为initTeeCtx成功初始化的结果 |
输入 |
input |
DG_MpcFileInput |
不能输入为NULL |
输入 |
output |
计算结果 类型为:DG_MpcFileOutput |
不能输入为NULL |
输出 |
名称 |
类型 |
说明 |
filePath |
char* |
文件路径 |
pathLen |
uint32_t |
路径长度 |
dataSize |
uint64_t |
数据大小 |
名称 |
类型 |
说明 |
filePath |
char* |
文件路径 |
pathLen |
uint32_t |
路径长度 |
dataSize |
uint64_t |
数据大小 |
返回值
- 成功:返回0。
- 失败:返回错误码。
错误码
错误码值 |
错误码 |
描述 |
特殊说明 |
|---|---|---|---|
4515 |
DG_ERR_MPC_TEE_BUCKET_NUM_SET_ERROR |
分桶数量设置错误 |
- |
依赖
- pirOpts依赖DG_InitPirOpts的成功初始化PIR类算子函数组。
- 依赖的头文件为"data_guard_mpc.h"。
示例
使用调用DG_InitPirOpts成功后的pirOpts来调用offlineCalculateByFile接口。
#include "data_guard_mpc.h" DG_MpcFileInput teeFileInput; teeFileInput.filePath = const_cast<char *>(inputFilePath.c_str()); teeFileInput.pathLen = static_cast<uint32_t>(inputFilePath.length()); DG_MpcFileOutput teeFileOutput; teeFileOutput.filePath = const_cast<char *>(outputCachePath.c_str()); teeFileOutput.pathLen = static_cast<uint32_t>(outputCachePath.length()); return pirOpts->offlineCalculateByFile(dgTeeCtx_, &teeFileInput, &teeFileOutput);
运行结果: res结果为0且output不为null。
父主题: 隐匿查询PIR类算子