HDC免拷贝快速发送消息接口。
hdcError_t halHdcFastSend(HDC_SESSION session, struct drvHdcFastSendMsg msg, UINT64 flag, UINT32 timeout)
参数名 |
说明 |
---|---|
session |
指定发送消息的session。 类型:HDC_SESSION。 |
msg |
发送的消息。 |
flag |
阻塞标志。
类型:UINT64。 |
timeout |
当flag取值为“2"时,设置阻塞超时时间,单位毫秒。 类型:UINT32。 |
halHdcFastSend接口是异步发送接口,在发送数据时,底层通过DMA快速搬运,源地址一直都是使用的用户申请的内存地址。
因此,使用此接口时,建议用户对消息收发做二次管理,当对端接收到数据后,需要返回响应消息给发送端。在发送端收到响应消息后,用户就可以对内存进行释放或者复用。
使用此接口时,需要提前通过HDC申请好内存。
halHdcFastSend、halHdcFastRecv接口,接收、发送数据buffer或控制消息buffer需同时给定。例如发送数据,则需要给定源数据大页内存地址和接收侧的目的大页内存地址。