Engine::SendData
将数据从本Engine发送到指定port_id。该接口在engine.h中定义。
在跨侧(Host->Device或Device->Host)传输数据时,该接口采用DMA(Direct Memory Access)传送方式,可能会影响CPU对中断请求的及时响应与处理,例如影响调用new或者malloc分配内存时的性能。
函数格式
HIAI_StatusT Engine::SendData(uint32_t portId, const std::string& messageName, const shared_ptr<void>& dataPtr, uint32_t timeOut = TIME_OUT_VALUE);
参数说明
参数 |
说明 |
取值范围 |
---|---|---|
portId |
Engine的输出端口号。 |
- |
messageName |
当前发送的消息名(该消息必须已经调用HiAI提供的宏已经注册过)。 |
- |
dataPtr |
指向具体的消息指针。 |
- |
timeOut |
调用该接口发送数据时的一次超时时间,不指定timeout参数时,默认的一次超时时间为500ms。 若发送数据超时,系统后台会再次尝试发送数据,最大尝试16次。 |
- |
返回值
返回的部分错误码请参见“错误码示例”中的“错误码”列。
错误码示例
序号 |
错误码 |
错误码描述 |
---|---|---|
1 |
HIAI_OK |
running ok |
2 |
HIAI_ENGINE_NULL_POINTER |
null pointer |
3 |
HIAI_GRAPH_ENGINE_NOT_EXIST |
engine not exist |
4 |
HIAI_GRAPH_SRC_PORT_NOT_EXIST |
src port not exist |