Listener not receiving data

4 posts / 0 new
Last post
Offline
Last seen: 3 years 4 months ago
Joined: 07/08/2021
Posts: 4
Listener not receiving data

I am having trouble getting a subscriber to receive data from a publisher. Both entities are on the same machine and my firewall is off.

* Subscriber has a listener with StatusMask as all().
* set NDDS_DISCOVERY_PEERS=4@shmem://
* Using HighThroughput profile.

I guess the more unusual thing about this app is that there are two domain participants with a pub on one and a subscriber on the other. Yet, they are both on the same domain's id, 0. I assume that's ok.

Admin Console reports entities as "Healthy" and I can see the DW's pointing to a topic and the DR's receiving from a topic.

When selecting any of the entities in the Monitor, the "Common Information" box says "not available" and no data is reported within the Monitor.

When starting my peers, the only functions I see being called in my Listener is:

    on_subscription_matched
    on_liveliness_changed

Then I manually publish a message, I see the writer being called, but no reader action of any kind.

Any ideas as to why when pushlishing a message, nothing is received?

 

Offline
Last seen: 3 years 4 months ago
Joined: 08/09/2017
Posts: 25

There are a lot of possibilities here, but given that it looks like the applications are discovering each other, some of the more likely options are:

- A mismatch between the QoS and data size, such as sending large data samples using best effort QoS. Is the data type large?

- Filtering on the reader side. Are you using a content filtered topic?

- An application code bug that is obscuring the cause.

Do you get a different behavior when you do not specify NDDS_DISCOVERY_PEERS? Are you able to subscribe to the topic in Admin Console and receive the data?

It is fine to have multiple participants in the same application on the same domain, but it is also inefficient because participants are heavyweight objects.

Offline
Last seen: 3 years 4 months ago
Joined: 08/09/2017
Posts: 25

Note that the HighThroughput profile enables batching, so that could also come into play. Are you getting any error messages from the publishing application?

Offline
Last seen: 3 years 4 months ago
Joined: 07/08/2021
Posts: 4

Ok, interesting. I changed out the profile for a simpler one (from the getting_started/4_keys/instances/c++11) and it worked. I guess batching doesn't work as I was thinking.

Thanks for this.