2014-06-06 76 views
0

我的許多組件都將處理來自C庫的外部緩衝區,我試圖避免任何無關的副本。我在輸出端口聲明中看到兩個用於pushPacket的簽名,並且都採用矢量類型。我搜索了一些示例,我在提供的組件中找到的唯一一個在USRP_UHD中,其中使用現有緩衝區創建了一個序列,並調用了專門的pushPacket實現。這需要作者通過專門的pushPacket調用來實現和使用自定義端口。是否有快速/推薦的方式來推送原始數據?

有沒有這樣做的標準方式,所以我不必創建一個特殊的端口包裝庫,併爲每個組件定製端口?是否有計劃將pushPacket的原始數據版本添加到如下所示的輸出端口?

給出一個bulkio :: OutLongPort:

無效pushPacket(常量CORBA ::長*項目,爲size_t NITEMS,BULIO :: PrecisionUTCTime & T,布爾EOS,常量的std :: string &流ID);

這個問題是關於Redhawk版本1.9。

回答

2

在1.10中有這樣的計劃。你可以在github上的develop-1.10分支上看到它的源代碼。結帳builkio_out_port.h