Избегайте получать ту же тему, что я отправляю

У меня есть узел OpenDDS, который является одновременно DataDriver и DataReader. Следствием этого является то, что если узел отправляет тему, та же тема принимается от того же узла.

Существует ли политика QoS, позволяющая избежать такого поведения? Я хочу, чтобы узел мог получать тему от всех узлов, кроме себя.

1 ответ

Я хочу, чтобы узел мог получать тему от всех узлов, кроме себя.

Если вы находитесь в ситуации, когда ваш тип данных для соответствующей темы включает в себя атрибут, который содержит информацию об источнике данных, вы можете использовать этот атрибут для фильтрации через ContentFilteredTopic. Предположим, что у вашего типа данных есть поле nodeId который идентифицирует ваш узел, то вы можете использовать выражение ContentFilter, как nodeId <> %0 и установите параметр на свой собственный nodeId, Промежуточное программное обеспечение будет доставлять все обновления для ваших DataReaders, кроме тех, которые имеют свои собственные nodeId, Проверьте спецификацию DDS для более подробной информации.

Учитывая, что ваше приложение хочет игнорировать данные, поступающие с вашего собственного узла, я бы сказал, что ваш тип данных действительно нуждается в nodeId в качестве атрибута, потому что, по-видимому, это информация, относящаяся к вашему приложению. Так что если у вас его нет на данный момент, вам, возможно, придется добавить его.

Если вы не можете или не хотите добавлять такое поле в свой тип данных, вы также можете использовать другой, более запутанный механизм, используя ignore_publication() или же ignore_participant() методы. Это также объясняется в спецификации. Если вы хотите пойти по этому пути, дайте мне знать, если у вас есть вопросы по этому поводу.

Наконец, могут быть специфичные для поставщика расширения API, которые предоставляют вам более простые способы достижения того, что вы ищете. Например, см. Как заставить DataReader игнорировать DataWriter, принадлежащий тому же DomainParticipant? для решения с использованием продукта РТИ.

Другие вопросы по тегам