更新时间:2021-03-18 GMT+08:00
分享

宏:HIAI_REGISTER_SERIALIZE_FUNC

为用户自定义的数据类型提供自定义的序列化和反序列化机制。该宏在data_type_reg.h中定义。

即发送时将用户传输的结构体指针转化为结构体buffer和数据buffer,接受数据时,将从框架获取的结构体buffer和数据buffer反转为结构体。

使用场景:

用于从host侧到Device侧快速搬运数据,如果用户需要提升传输性能,必须使用该接口注册函数。

  • 该接口用于从host侧到Device侧快速搬运数据使用。
  • 如果用户想使用高性能传输接口,必须使用该注册函数注册序列化和反序列化函数。

函数格式

HIAI_REGISTER_SERIALIZE_FUNC(name, type, hiaiSerializeFunc, hiaiDeSerializeFunc)

参数说明

参数

说明

取值范围

name

注册的消息名字。

-

type

自定义数据结构的类型。

-

hiaiSerializeFunc

序列化函数。函数形式为

typedef void(*hiaiSerializeFunc)(void* inputPtr, std::string& ctrlStr,

uint8_t*& dataPtr, uint32_t& dataLen);

各参数说明如下:

  • inputPtr:结构体指针
  • ctrlStr:结构体buffer
  • dataPtr:结构体数据指针buffer
  • dataLen:结构体数据大小

-

hiaiDeSerializeFunc

反序列化函数。函数形式为

typedef std::shared_ptr<void>(*hiaiDeSerializeFunc)(

const char* ctrlPtr, const uint32_t& ctrlLen,

const uint8_t* dataPtr, const uint32_t& dataLen);

各参数说明如下:

  • ctrlPtr:结构体指针
  • ctrlLen:数据结构中控制信息大小
  • dataPtr:结构体数据指针
  • dataLen:结构中数据信息存储空间大小,仅用于校验,不表示原始数据信息大小

-

返回值

返回的部分错误码请参见“错误码示例”中的“错误码”列。

错误码示例

序号

错误码

错误码描述

1

HIAI_OK

running ok

2

HIAI_ENGINE_FUNCTOR_NULL

hiai engine function is null

3

HIAI_ENGINE_FUNCTOR_EXIST

hiai engine function is existed

分享:

    相关文档

    相关产品