RTI Routing Service Version 7.3.0
RTI_RoutingServiceStreamReaderListener Struct Reference

StreamReader listener used to notify Routing Service that new data is available. More...

Data Fields

void * listener_data
 A place for RTI Routing Service to keep a pointer to data that is needed on the on_data_available notification. More...
 
RTI_RoutingServiceStreamReaderListener_OnDataAvailableCallback on_data_available
 Prototype of the callback used to notify of new samples. More...
 

Detailed Description

StreamReader listener used to notify Routing Service that new data is available.

RTI Routing Service uses the session threads (there is one per <session> tag) to read data from StreamReaders.

Each session thread will block waiting for new data using a WaitSet. When a StreamReader receives new data, it will use the StreamReaderListener's RTI_RoutingServiceStreamReaderListener_OnDataAvailableCallback callback operation to wake up the associated session thread. After that, the session thread will invoke the StreamReader's RTI_RoutingServiceStreamReader_ReadFcn operation to get the new data.

The following figure describes how the session thread reads samples from a StreamReader.

Field Documentation

◆ listener_data

void* RTI_RoutingServiceStreamReaderListener::listener_data

A place for RTI Routing Service to keep a pointer to data that is needed on the on_data_available notification.

The value of this field is assigned by RTI Routing Service. The adapter implementor must make it available as a parameter in the RTI_RoutingServiceStreamReaderListener_OnDataAvailableCallback call.