0

我的许多组件将处理来自 C 库的外部缓冲区,我试图避免任何无关的副本。我在输出端口声明中看到 pushPacket 的两个签名,并且都采用向量类型。我搜索了示例,我在提供的组件中找到的唯一一个是在 USRP_UHD 中,其中使用现有缓冲区创建了一个序列,并调用了专门的 pushPacket 实现。这需要作者通过专门的 pushPacket 调用来实现和使用自定义端口。

有没有这样做的标准方法,所以我不必创建一个特殊的端口包装库并为每个组件自定义端口?是否有计划将 pushPacket 的原始数据版本添加到输出端口,如下所示?

给定一个 bulkio::OutLongPort:

void pushPacket(const CORBA::Long* items, size_t nitems, BULIO::PrecisionUTCTime& T, bool EOS, const std::string& streamID);

这个问题是关于 Redhawk 1.9 版的。

4

1 回答 1

2

在 1.10 中有这样的计划。你可以在 github 上的 developer-1.10 分支上看到它的源代码。结帐builkio_out_port.h

于 2014-06-12T12:35:14.767 回答