eclipse-cyclonedds / eclipse-cyclonedds/cyclonedds-python

on_data_available provides a reader that is None

Open
#135 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
110
Forks
68
Avg merge
1h 8m
Merged PRs (30d)
1

Description

I'm attempting to do dynamic topic discovery through the BuiltinTopicReader. When I set my configuration file to be multicast and between two devices on a subnet everything works as expected. When I try to do the same thing using "lo" and no multicast instead the listener gets None instead of a data reader.

I'm not sure if I'm just going about this wrong completely or if this is an actual bug...

class TopicListener(Listener):
    """Receive topic information from the builtin reader."""

    def __init__(self) -> None:
        """Init."""
        Listener.__init__(self)

    def on_data_available(self, reader: BuiltinDataReader) -> None:
        """Read topic information and store it in the mapping."""
        if not reader:
          print("Failed to get reader")

I've played around with the tracing and haven't found anything that seemed helpful. I.e. info/warning/severe were completely empty.

Contributor guide

No contributing guide indexed for this repository

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

Reproduce the BuiltinTopicReader listener behavior with multicast between devices, then with "lo" and no multicast, and compare whether on_data_available receives a reader. Start by inspecting the listener callback and the configuration used in the report; review the empty tracing output as needed. Done means the loopback configuration either supplies a valid reader for dynamic topic discovery or clearly documents the expected limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
distributed-systems, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.