---
title: 中转传输
description: "中转传输是指使用中转buffer进行传输，在如下场景中需要使用。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/hixlug/llmcdv2_42_30.html
sourcePath: /source/zh/canncommercial/900/API/hixlug/llmcdv2_42_30.html
indexId: aca0d0affb51918c84b8b5bb21c132fa1c46a5b547d2e5809675954f6ae73a6459
---
# 中转传输

#### 使用场景

中转传输是指使用中转buffer进行传输，在如下场景中需要使用。

- 不支持使用HCCS协议进行Host To Host等直传传输时。
- 使用RDMA进行Host To Host等直传传输注册内存大小有限制时。


#### 功能示例

本示例使用中转传输功能进行Host To Host传输。

1. Client侧和Server侧根据  建链
章节的示例完成HIXL的初始化和建链。区别在于初始化阶段需要额外配置一个中转内存池的配置选项"BufferPool"。
  1 2 3 4 5 6 7 8 9 Hixl engine; std::map<AscendString, AscendString> options; options["BufferPool"] = "4:8"; AscendString local_engine = "ip:port"; // 替换成真实IP端口；是Hixl的唯一标识，端口为有效值 auto ret = engine.Initialize(local_engine, options); if (ret != SUCCESS) { printf("[ERROR] Initialize failed, ret = %u\n", ret); return -1; }

2. 和  内存管理
章节一样进行内存传输，区别在于不需要调用RegisterMem接口注册Host内存，注册了则会走直传模式，不注册会采用中转传输模式。


#### 异常处理

- 错误码TIMEOUT表示传输超时，说明链路出现问题，需要重新断链，再尝试建链。
- 错误码NOT_CONNECTED表示与远端没有建链。
