DataDriver と DataReader の両方である OpenDDS ノードがあります。その結果、ノードがトピックを送信すると、同じトピックが同じノードから受信されます。
この動作を回避する QoS ポリシーはありますか? ノードがそれ自体以外のすべてのノードからトピックを受信できるようにしたい。
DataDriver と DataReader の両方である OpenDDS ノードがあります。その結果、ノードがトピックを送信すると、同じトピックが同じノードから受信されます。
この動作を回避する QoS ポリシーはありますか? ノードがそれ自体以外のすべてのノードからトピックを受信できるようにしたい。
ノードがそれ自体以外のすべてのノードからトピックを受信できるようにしたい。
関連するトピックのデータ型に、データのソースに関する情報を含む属性が含まれている場合は、その属性を使用して、ContentFilteredTopic を介してフィルター処理できます。データ型にノードを識別するフィールドがあると仮定するとnodeId
、次のような ContentFilter 式を使用してnodeId <> %0
、パラメーターを独自の に設定できますnodeId
。ミドルウェアは、独自の を持つものを除いて、すべての更新を DataReaders に配信しますnodeId
。詳細については、DDS 仕様を確認してください。
アプリケーションが独自のノードからのデータを無視したい場合、データ型には実際にそれがnodeId
属性として必要であると主張します。これは明らかにアプリケーションに関連する情報であるためです。したがって、現時点でそれを持っていない場合は、追加する必要があるかもしれません。
そのようなフィールドをデータ型に追加することが許可されていない場合、または追加したくない場合は、ignore_publication()
またはignore_participant()
メソッドを利用して、別のより複雑なメカニズムを使用することもできます。これらは仕様書でも説明されています。そのルートに進みたい場合は、質問があればお知らせください。
最後に、探しているものをより簡単に実現する方法を提供する、API に対するベンダー固有の拡張機能が存在する場合があります。たとえば、DataReader が同じ DomainParticipant に属する DataWriter を無視するようにするにはどうすればよいですか? を参照してください。RTI 製品を使用したソリューションの場合。