---
title: serverCalculate
description: "服务端接收客户端的查询数据，并返回对应的value给客户端。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0075.html
sourcePath: /source/zh/kunpengcctrustzone/tee/kcal/kunpeng_kcal_16_0075.html
indexId: c5727ef172881308ef8a9a7f23b34664f91811264cdb09c38576c77ec0fd018f64
---
# serverCalculate

服务端接收客户端的查询数据，并返回对应的value给客户端。

```
int serverCalculate(
DG_TeeCtx *dgTeeCtx,
DG_Buckets *buckets
)
```

#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| dgTeeCtx | MPC上下文信息 | 为DG\_InitPsmOpts成功初始化的结果 | 输入 |
| buckets | 内部分桶结构 | \- | 输入 |


#### 返回值

- 成功：返回0。
- 失败：返回错误码。


#### 错误码

| 错误码 | 错误码值 | 描述 | 特殊说明 |
| --- | --- | --- | --- |
| DG\_SUCCESS | 0 | 成功 | 无 |
| DG\_FAILURE | 1 | 通信失败 | 无 |
| DG\_ERR\_MPC\_TEE\_INVALID\_NODE\_INFO | 4503 | 无效的tee节点信息 | 无 |
| DG\_ERR\_MPC\_TEE\_INVALID\_PARAM | 4501 | 参数校验失败 | dgCfg为NULL或dgTeeCtx二级指针为空 |


#### 依赖

- dgCfg依赖  DataGuard操作集设置类接口
设置MPC配置信息成功，用设定好的dgCfg作为此接口的入参。
- psmOpts依赖  DG_InitPsmOpts
的成功初始化PSM类算子函数组。
- 依赖的头文件为"data_guard_mpc.h"。


#### 示例

使用调用DG_InitPsmOpts成功后的psmOpts来调用initTeeCtx接口。


```
#include  "data_guard_mpc.h"
// psmOpts为DG_InitPsmOpts成功后的结果，dgTee为initTeeMpcSql成功后的结果。
// buckets为offlineCalculate的输出结果。
int res = psmOpts.serverCalculate(dgTee, buckets);
if (rv != 0) {
return rv;
}
```
