Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does CycloneDDS automatically group subscribers into multicast groups based on topic? #2067

Open
xiaoyuyaa555 opened this issue Aug 14, 2024 · 2 comments

Comments

@xiaoyuyaa555
Copy link

Hi,

I would like to understand how CycloneDDS handles multicast grouping for subscribers. Specifically, does CycloneDDS automatically group subscribers into different multicast groups based on the topic they are subscribing to? Or is this process something that needs to be manually configured?

Thank you!

@eboasson
Copy link
Contributor

I would love for it to do that automatically, but no, you have to configure that via the Partitioning element in the configuration. Something like:

<?xml version="1.0" encoding="UTF-8" ?>
<CycloneDDS xmlns="https://cdds.io/config">
  <Domain Id="any">
    <General>
      <Interfaces>
        <NetworkInterface name="lo0" priority="default" multicast="true"/>
        <NetworkInterface name="en0" priority="default" multicast="true"/>
      </Interfaces>
    </General>
    <Partitioning>
      <NetworkPartitions>
        <NetworkPartition Name="a" Address="239.255.0.1"/>
        <NetworkPartition Name="b" Address="239.255.0.2"/>
        <NetworkPartition Name="c" Address="239.255.0.3"/>
      </NetworkPartitions>
      <PartitionMappings>
        <PartitionMapping DCPSPartitionTopic="a.*" NetworkPartition="a"/>
        <PartitionMapping DCPSPartitionTopic="b.*" NetworkPartition="b"/>
        <PartitionMapping DCPSPartitionTopic="*.*" NetworkPartition="c"/>
      </PartitionMappings>
    </Partitioning>
  </Domain>
</CycloneDDS>

@xiaoyuyaa555
Copy link
Author

Thank you very much for your answer. I will configure it through XML.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants