我正在尝试使用BULKIO发送大于2 MB的数据包。我已将/etc/omniORB.cfg中的giopMaxMsgSize修改为8388608,但我仍然收到以下错误消息:" BULKIO_dataFloat_Out_i调用pushPacket失败"。关于如何调试这个的任何建议?
答案 0 :(得分:1)
尝试调整omniORB日志记录级别(请参阅REDHAWK文档,Appendix H, section 3)。它可以生成大量的调试信息,但它可以帮助您缩小问题范围。
我尝试使用两个C ++组件,并且能够通过调整您提到的omniORB.cfg属性来推送大型(> 2MB)BULKIO浮动数据包。你还在使用C ++吗? Redhawk 1.9.0?
答案 1 :(得分:0)
通常,当数据总量超过giopMaxMsgSize(总字节数)时,会发生此类错误。如果我们做数学8388608/4 = 2097152浮点值,浮点数中有4个字节。因此,您的载体不能超过2097152个实际样品,或1048576个复杂样品。
它检查的一种方法是在调用push之前记录输出向量的大小。