rticommunity / rticommunity/rticonnextdds-examples

Add example for bi-directional pub/sub communication

Open
#302 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue request
Dominant language
Python
Stars
148
Forks
153
PR merge metrics
No merged PRs in 30d

Description

Information
  • RTI Product: RTI Connext DDS
  • Version: 6.0.0+ / Any

Most of the examples define a single publisher and a single subscriber, each in their own program with a main(). (At least this is the case for c++; I haven't looked at other languages). That means that in each example, data flows in a single direction, across a single topic, from process A to process B.

I am looking for an example of a case where a process can have both a subscriber (e.g. to topic_a), and a publisher (e.g. to topic_b), and a second process that has a mirrored subscriber (topic_b) / publisher (topic_a), and the processes effectively ping-pong back and forth. (I am trying to implement this myself, and I am running into some odd timing issues; I am nearly certain I am missing some best-practice etc.)

Note that there is one example in open pull requests that implements the RequestReply pattern which is helpful, but I am looking for a way to implement bi-directional pub/sub without necessarily using RequestReply, if it is possible.

Apologies if this is a duplicate / already implemented somewhere and I couldn't find it. I searched through closed issues and open PR's and didn't see anything that exactly matched what I am looking for. Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing C++ publisher/subscriber examples and open pull request #295 for the RequestReply pattern. Compare their setup and timing behavior with the requested two-process, two-topic arrangement. Done means a documented example demonstrates bi-directional pub/sub without requiring RequestReply.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.