Open solarjoe opened 4 years ago
Dear SolarJoe,
Please see the below explanation:
The Data Distribution Service will trigger the most specific and relevant Listener. In other words, in case a communication status is also activated on the Listener of a contained entity, the Listener on that contained entity is invoked instead of the DomainParticipantListener. This means that a status change on a contained entity only invokes the DomainParticipantListener if the contained entity itself does not handle the trigger event generated by the status change. The statuses DATA_ON_READERS_STATUS and DATA_AVAILABLESTATUS are “Read Communication Statuses” and are an exception to all other plain communication statuses: they have no corresponding status structure that can be obtained with a get
The code states in dds.pyx states
I seem to encounter a similar "disabling" behavior for other callback methods, e.g.
It seems that these are also disables sometimes, but I have not found a rule so far. Could it be that if a method is registered in a parent it is deactivated for all children?
e.g. if the listener for a
DomainParticipant dp
implementson_data_available
it is not available in all listeners inSubscriber
s orDataReader
s that havedp
as parent?