Atostek/RustDDS

Inteoperability OpenDDS and RustDDS

Opened this issue · 1 comments

Hello, sorry if my question is just a simple question, because I am new at DDS (beginner)

here my question:

why when I try to do interoperability between OpenDDS (C++) and RustDDS (where RustDDS is the publisher and OpenDDS is the subscriber), QoS rules do not apply...

for example:

  • If the publisher (RustDDS) has this QoS:
    image

  • then, the subscriber (OpenDDS C++) has this QoS:
    image

why is data from the publisher still sent to the subscriber (even though the publisher's QoS is lower than the subscriber.)

*Note:
As far as I know, this is a QoS rule that must be applied.
image

thank you...

Hello,

I do not know why QoS rules do not work in your case. They should work like you expect.

In other cases they do work, e.g. set up eProsima Shapes Demo program to subscribe to topic Square with reliability=reliable:

From RustDDS source directory, run

  • Reliable publisher: $ cargo run --example=shapes_demo -- -P -r -t Square --> Blue square is received and shown by eProsima Shapes Demo. RustDDS reports DataWriter status: PublicationMatched ...
  • Best-Effort publisher: $ cargo run --example=shapes_demo -- -P -b -t Square --> RustDDS complains QoS mismatch Reliability topic="Square". eProsima Shapes Demo does not react.

Please provide some minimal example programs to reproduce the problem you are seeing.