RTI Routing Service
Version 6.1.2
|
This module describes the Java Adapter API. More...
Classes | |
interface | Adapter |
Adapter interface (required). More... | |
interface | Connection |
Connection interface (required). More... | |
interface | DiscoveryConnection |
DiscoveryConnection interface (optional). More... | |
interface | Entity |
Entity interface (required). More... | |
interface | Session |
Session interface (optional). More... | |
interface | StreamReader |
StreamReader interface (optional). More... | |
interface | StreamReaderListener |
StreamReaderListener used to notify Routing Service that new data is available. More... | |
interface | StreamWriter |
StreamWriter interface (optional). More... | |
This module describes the Java Adapter API.
Adapters are pluggable components that allow RTI Routing Service to consume and produce data for different data domains (e.g., Connext DDS, MQTT, Socket, etc.).
By default, Routing Service is distributed with a builtin DDS adapter. Any other adapter plugins must be provided as external components registered through the XML configuration or through the service API.
The following figure shows an overview of the Routing Service adapter.
Input adapters are used to collect data samples from different data domains, such as DDS or MQTT. The input samples are processed by the Routing Service engine and are passed along to output adapters through the Processor, applying any Transformation beforehand if present.
For additional details about Adapter configuration see the RTI Routing Service User's Manual.
Linux/macOS Systems | Windows Systems | |
---|---|---|
JAR | rtirsadapter.jar | |
^ | dds.jar | |
Native Libraries | librtirsjniadapter.so | rtirsjniadapter.dll |
^ | librtirsinfrastructure.so | rtirsinfrastructure.dll |
^ | libndds.so | nddsc.dll |
^ | libnddscore.so | nddscore.dll |
The Adapter architecture is shown in the class diagram below.
The sequence diagram in this figure shows when the different adapter entities are created.
A Route cannot forward data until the type representations (e.g., TypeCode) associated with the input and output streams are available.
If a Route refers to types that are not defined in the configuration file, RTI Routing Service has to discover their type representation (e.g., TypeCode) before creating the com.rti.routingservice.adapter.StreamReader and com.rti.routingservice.adapter.StreamWriter. The adapter discovery API is used to provide stream and type information in a data domain to Routing Service*.
The discovery API consists of the following methods:
These methods provide access to com.rti.routingservice.adapter.StreamReader used to discover streams in the data domain associated with a connection.
The input stream discovery com.rti.routingservice.adapter.StreamReader provides information about input streams. An input stream is a stream from which an input's com.rti.routingservice.adapter.StreamReader reads data. Notification of disposed scenarios, where an input stream disappears, are also made using the input stream discovery StreamReader.
In the builtin DDS adapter, the input stream discovery StreamReader is associated with the publication builtin DataReader of the DomainParticipant.
The output stream discovery com.rti.routingservice.adapter.StreamReader provides information about output streams. An output stream is a stream to which an output's com.rti.routingservice.adapter.StreamWriter can write data. Notification of disposed scenarios, where an output stream disappears, are also made using the output stream discovery StreamReader.
In the builtin DDS adapter, the output stream discovery StreamReader is associated with the subscription builtin DataReader of the DomainParticipant.
The samples provided by the stream discovery StreamReaders have the type com.rti.routingservice.infrastructure.StreamInfo.