Hi,
I'm having trouble accessing the distributed logger's command_request datareader. I'm using the traditional C++ API and running on linux.
We created a participant and attached our instance of the distributed logger to it.
dlOptions.setDomainParticipant(loggerParticipant);
RTI_DLDistLogger::setOptions(dlOptions);
dlLogger = RTI_DLDistLogger::getInstance();
Then we tried to access the datareader by setting a subscriber_name.name in the qos profile and looking it up from the participant but we kept getting NULL.
domainParticipant->lookup_datareader_by_name([subscription_name]); // always returned NULL
We also tried looping through all the subscribers and their datareaders using domainParticipant->get_subscribers() and subscriber->get_all_datareaders(). We found other subscribers and datareaders we use but not the distributed logger's subscriber. We also confirmed that the distributed logger's subscribers and publishers are under the intended participant using rtimonitor.
We are trying to access the datareader so that we can access the samples when they arrive using a waitset. Is it the intended behavior that we can't access the distributed logger's subscribers using get_subscribers? If so, how can we access the samples recieved by the command_request reader?
Thanks,
Nixon Mathew
Thanks Harish.
We had some code we wanted to execute alongside the distributed logger changing its log level. We managed to work around the issue by creating another datareader that subscribed to the command request topic and attaching a listener to it.