Routing service and partitions

9 posts / 0 new
Last post
Offline
Last seen: 5 years 3 months ago
Joined: 09/26/2014
Posts: 5
Routing service and partitions

I have the RTI Shapes Demo running on domain 0, publishing squares on partition A. 

I have another instance of the RTI Shapes Demo running on domain 1, subscribing to squares on partition B.

Both applications use QoS profiles defined in a file named qos_library.xml.

Is there a way to setup the routing service so that squares published on domain 0 by the first application are received by the second application on domain 1 (using only the xml configuration for the routing service), without changing the rest of the QoS specified in the qos_library.xml file?

Thanks!

Gerardo Pardo's picture
Offline
Last seen: 2 months 2 weeks ago
Joined: 06/02/2010
Posts: 594

Hello,

Yes this is possible. All you need to do is configure the session that routes the data from Domain 0 to Domain 1 with a SubscriberQos that specifies partition "A" and a PublisherQos that specifies partition "B".

If you create an auto-route from Domain 0 to Domain 1 within this session then the DataReaders (on Domain 0) will subscribe on partition "A" and the DataWriters (on Domain 1) will publish on Domain B.

I have attached a routing service configuration file that does exactly this.

Gerardo

 

File Attachments: 
Offline
Last seen: 2 years 9 months ago
Joined: 04/03/2018
Posts: 2

Hello,

Is it possible to explicily block a message or shape from a specific domain or domain partition?

 

TIA,

Ron

Offline
Last seen: 2 years 9 months ago
Joined: 04/06/2018
Posts: 2

Hi rondawg65 ,

Yes , during routing setvics configuration you have to explicitly specify the domain id during creation of a domain route in routing service. So of you want to ignore any domain then you can do it by not creating the domain route for a specific domain that you need to ignore. Secondly if you want to ignore a partiion within a domain then you should not subscribe the topic from that partition. 

Regards

Sarita

Offline
Last seen: 2 days 15 hours ago
Joined: 09/10/2020
Posts: 24

I have something similar setup. I have a DDS-1 with two partitions and the second DDS with no partition. When I tried to change the xml to use the wildcard, "*"  in the element instead of "B", I I wasn't able to get it to subscribe from the second DDS. Can you provide an example of this? Thanks.

KP Singh's picture
Offline
Last seen: 4 days 22 hours ago
Joined: 03/05/2020
Posts: 11

Hello Tan pham

In the attached routing service configuration, I am considering two domain

Domain 1 where you are using two partitions A and B

Doman 2 where you are not specifying partitions

 

This configuration will route topics from Domain 1 to Domain 2 and vice versa

 

Regards

KP Singh

File Attachments: 
Offline
Last seen: 2 days 15 hours ago
Joined: 09/10/2020
Posts: 24

Thanks for the sample file. Can you also have a routing service that connects to multiple? For example, DDS 1 connects with DDS 2 and DDS 3. I tried adding another partition in the file but the routing service failed to start.

 

Just a side note, the file has a missing closing domain_id on line 56.

Offline
Last seen: 2 days 15 hours ago
Joined: 09/10/2020
Posts: 24

From the Shape Demo, if DDS 1 publishes Blue Square and DDS 2 is subscribe to the Square, I can see the movement of the shape. However, if DDS 2 also has a Square, then both are display. If I want to replace the topic on DDS 2 with DDS 1, is that possible with the routing service?

KP Singh's picture
Offline
Last seen: 4 days 22 hours ago
Joined: 03/05/2020
Posts: 11

Hello Tan pham

Thanks for the correction in the attached file.

a) Routing Service with Connext DDS supports multiple inputs and multiple outputs for a topic route. i.e. DDS1 acting as input and publishing the received sample on DDS2 and DDS3.

b) Transformation support is available on the topic route i.e you can change the data values as well as the data types using transformation and processor.

https://community.rti.com/static/documentation/connext-dds/6.0.0/doc/manuals/routing_service/tutorials.html?highlight=transformation#example-transforming-the-data-s-type-and-topic-with-an-assignment-transformation

c) Adding another partition shall work because partitions are StringSeq in Publisher and Subscriber QoS.

 

Regards

KP Singh