RTI Routing Service
7.3.0
Contents
Copyrights and Notices
1. Introduction
1.1. How To Read This Manual
1.2. Paths Mentioned in Documentation
1.3. Files Mentioned in Documentation
2. Routing Data: Connecting and Scaling Systems
2.1. Routing a
Topic
between two different domains
2.1.1. Define the service configuration element
2.1.2. Specify which domains to join
2.1.3. Define a processing context
2.1.4. Define the data flow
2.2. Routing a group of
Topics
2.3. Using custom QoS Profiles
2.3.1. Defining a QoS Library
2.3.2. Specifying QoS for DDS entities
2.3.3. Applying topic filters to DDS
Inputs
and
Outputs
2.4. Traversing Wide Area Networks
2.4.1. Define a QoS profile that configures the RTI TCP transport
2.4.2. Specify the domains to join and which transport to use
2.4.3. Specify the
Topics
to be routed
2.5. Key Terms
3. Controlling Data: Processing Data Streams
3.1. DynamicData as a Data Representation Model
3.2. Aggregating Data From Different Topics
3.2.1. Develop a Custom
Processor
3.2.2. Create a Shared Library
3.2.3. Define a Configuration with the Aggregating
TopicRoute
3.2.3.1. Configure a plugin library
3.2.3.2. Configure a
Routing Service
with the custom routing paths
3.3. Splitting Data From a single Topic
3.3.1. Custom
Processor
implementation
3.3.2. Define a Configuration with the Splitting
TopicRoute
3.4. Periodic and Delayed Action
3.5. Simple data transformation: introduction to Transformation
3.5.1. Transformations vs Processors
3.6. What stream processing patterns can I perform?
3.7. Key Terms
4. Data Integration: Combining Different Data Domains
4.1. Unified Data Representation
4.2. Integrating a File-Based Domain
4.2.1. Develop a Custom Adapter
4.2.1.1. Implement a StreamReader for Reading Data
4.2.1.2. Implement a StreamWriter for Writing Data
4.2.2. Create a Shared Library
4.2.3. Define a Configuration that Integrates DDS with the File Adapter
4.2.3.1. Configure a Plugin Library
4.2.3.2. Define a Connection Linked to the Adapter
4.2.3.3. Define the Data Flows that Read and Write from Your Adapter
4.3. Discovery Capabilities
4.3.1. Discovery in a File-Based Domain
4.4. Key Terms
5. Remote Administration
5.1. Overview
5.1.1. Enabling Remote Administration
5.1.2. Available Service Resources
5.1.2.1. Example
5.1.3. Resource Object Representations
5.2. API Reference
5.2.1. Remote API Overview
5.2.2. Service
5.2.3. DomainRoute
5.2.4. Connection
5.2.5. Session
5.2.6. AutoRoute
5.2.7. Route
5.2.8. Input/Output
5.3. Example: Configuration Reference
5.4. The Remote Administration Shell
5.4.1. Remote Shell Commands
5.4.2. Command: add_peer
5.4.3. Command: create
5.4.4. Command: delete
5.4.5. Command: disable
5.4.6. Command: enable
5.4.7. Command: get
5.4.8. Command: load
5.4.9. Command: pause
5.4.10. Command: resume
5.4.11. Command: save
5.4.12. Command: shutdown
5.4.13. Command: unload
5.4.14. Command: update
6. Monitoring
6.1. Overview
6.1.1. Enabling Service Monitoring
6.1.2. Monitoring Types
6.2. Monitoring Metrics Reference
6.2.1. Service
6.2.2. DomainRoute
6.2.3. Session
6.2.4. AutoRoute
6.2.5. Route
6.2.6. Input/Output
7. Usage
7.1. Command-Line Executable
7.1.1. Starting Routing Service
7.1.2. Stopping Routing Service
7.1.3. Routing Service Command-Line Parameters
7.2. Routing Service Library
7.2.1. Example
7.3. Operating System Daemon
8. Configuration
8.1. Configuring Routing Service
8.2. XML Tags for Configuring RTI Routing Service
8.2.1. Routing Service Tag
8.2.1.1. Example: Specifying a configuration in XML
8.2.2. Administration
8.2.3. Monitoring
8.2.3.1. Monitoring Configuration Inheritance
8.2.4. Domain Route
8.2.4.1. Example: Mapping between Two DDS Domains
8.2.4.2. Example: Mapping between a DDS Domain and raw Sockets
8.2.5. Session
8.2.6. Route
8.2.7. Input/Output
8.2.7.1. Creation Modes
8.2.7.2. Specifying Types
8.2.7.3. Data Transformation
8.2.8. Auto Route
8.2.9. Plugins
8.3. Enabling Distributed Logger
8.4. Support for Extensible Types
8.4.1. Example: Samples Published by Two Writers of Type A and B, Respectively
8.5. Support for RTI FlatData and Zero Copy Transfer Over Shared Memory
8.5.1. Example: Configuration to enable both FlatData and Zero Copy transfer over shared memory
8.5.2. Support for
Security Plugins
8.5.3. Example: Configuring a Routing Service Instance using Security
8.5.4. Example: Configuring Routing Service to use a Certificate Revocation List (CRL)
8.5.5. Example: Configuring Routing Service for Dynamic Certificate Renewal
8.6. Support for Application Acknowledgment
9. Software Development Kit
10. Core Concepts
10.1. Resource Model
10.1.1. Directory
10.1.2. Service
10.1.2.1. Plugin Interaction
10.1.2.2.
Service
States
10.1.3. DomainRoute
10.1.3.1. DomainRoute States
10.1.4. Connection
10.1.4.1. Plugin Interaction
10.1.4.2.
Connection
States
10.1.4.3. Type Registration
10.1.5. Session
10.1.5.1. Plugin Interaction
10.1.5.2.
Session
States
10.1.6. Route
10.1.6.1. Plugin Interaction
10.1.6.2.
Route
States
10.1.7. AutoRoute
10.1.7.1.
AutoRoute
States
10.1.8. Input
10.1.8.1. Plugin Interaction
10.1.8.2.
Input
States
10.1.9. Output
10.1.9.1. Plugin Interaction
10.1.9.2.
Output
States
10.2. Builtin plugins
10.2.1. DDS Adapter
10.2.1.1. DDS AdapterPlugin
10.2.1.2. DDS Connection
10.2.1.3. DDS Session
10.2.1.4. DDS StreamReader
10.2.1.5. DDS StreamWriter
10.2.2. Forwarding Processor
11. Advanced Use Cases
11.1. Propagating Content Filters
11.1.1. Enabling Filter Propagation
11.1.2. Filter Propagation Behavior
11.1.3. Filter Propagation Events
11.1.4. Restrictions
11.2. Topic Query Support
11.2.1. Dispatch Mode
11.2.2. Propagation Mode
11.2.3. Restrictions
12. Common Infrastructure
12.1. Configuring RTI Services
12.1.1. How to Load and Select an XML Configuration
12.1.1.1. Loading from Files
12.1.1.2. Loading from In-Memory Strings
12.1.1.3. Selecting which Configuration to Run
12.1.1.4. Default Files
12.1.1.5. XML Syntax and Validation
12.1.1.6. Listing Available Configurations
12.1.1.7. Configuration Variables
12.1.2. How to Load Default QoS Profiles
12.1.3. How to Set Logging Properties
12.1.3.1. Command-Line Options
12.1.3.2. Library API
12.1.3.3. XML Configuration
12.1.4. How to Run as an Operating System Daemon
12.1.4.1. Linux and macOS Systems
12.1.4.2. Windows Systems
12.1.5. How to use a License File with RTI Services
12.1.6. Key Terms
12.2. Application Resource Model
12.2.1. Example: Simple Resource Model of a Connext Application
12.2.2. Resource Identifiers
12.2.2.1. Escaped Identifiers
12.2.2.2. Example: Resource Identifiers of a Generic Connext Application
12.2.2.3. Example: Resource Identifiers Generated from XML Entity Model
12.3. Remote Administration Platform
12.3.1. Remote Interface
12.3.1.1. Standard Methods
12.3.1.2. Custom Methods
12.3.2. Communication
12.3.2.1. Reply Sequence
12.3.2.2. Example: Controlling services remotely from a Connext Application
12.3.3. Common Operations
12.3.3.1. Create Resource
12.3.3.2. Get Resource
12.3.3.3. Update Resource
12.3.3.4. Set Resource State
12.3.3.5. Get Resource State
12.3.3.6. Delete Resource
12.4. Monitoring Distribution Platform
12.4.1. Distribution Topic Definition
12.4.1.1. Example: Monitoring of Generic Application
12.4.2. DDS Entities
12.4.3. Monitoring Metrics Publication
12.4.3.1. Configuration Distribution Topic
12.4.3.2. Event Distribution Topic
12.4.3.3. Periodic Distribution Topic
12.4.4. Monitoring Metrics Reference
12.4.4.1. Statistic Variable
12.4.4.2. Host Metrics
12.4.4.3. Process Metrics
12.4.4.4. Base Entity Resource Metrics
12.4.4.5. Network Performance Metrics
12.4.4.6. Thread Metrics
12.5. Plugin Management
12.5.1. Shared Library
12.5.1.1. Configuration
12.5.2. Library API
13. Tutorials
13.1. Starting Shapes Demo
13.2. Example: Routing a single specific Topic
13.3. Example: Routing All Data from One Domain to Another
13.4. Example: Changing Data to a Different Topic of Same Type
13.5. Example: Changing Some Values in Data
13.6. Example: Transforming the Data’s Type and Topic with an Assignment Transformation
13.7. Example: Transforming the Data with a Custom Transformation
13.8. Example: Using Remote Administration
13.9. Example: Monitoring
13.10. Example: WAN Connectivity using the TCP transport
13.10.1. Important Considerations
13.11. Example: Using a File Adapter
13.12. Example: Using a Shapes Processor
14. Release Notes
14.1. Supported Platforms
14.2. Compatibility
14.3. What’s New in 7.3.0 LTS
14.3.1. Routes that cross two instances of Routing Service now work by default
14.3.2. Support for RTI FlatData and Zero Copy Transfer Over Shared Memory with Discovered Types
14.3.3. C++ API class rti::apputils::LogConfig deprecated
14.4. What’s Fixed in 7.3.0 LTS
14.5. Crashes
14.5.1.
[Critical]
Segmentation fault when shutting down a Routing Service using <reuse_monitoring_participant> tag
14.5.2.
[Critical]
Routing Service could crash when an Auto-topic Route’s or Input’s content filter expression was updated remotely
14.5.3.
[Critical]
Possible race condition and crash in Routing Service when accessing the XML DOM
14.5.4.
[Critical]
Segmentation fault when using Routing Service and Distributed Logger
14.6. Data Corruption
14.6.1.
[Critical]
Routing Service did not flag incompatible types when using XML types in the configuration
14.6.2.
[Critical]
Routing Service failed to forward samples or published samples with wrong data representation
14.6.3.
[Major]
Assignment Transformation did not work with derived types
14.7. Other
14.7.1.
[Critical]
Routing Service became non-responsive
14.7.2.
[Critical]
Concurrent access to XML DOM from Routing Service Library APIs may have caused corruption or invalid results
14.7.3.
[Critical]
Samples not received from Routing Service when route’s output configured to use compression and XCDR2 encapsulation
14.7.4.
[Major]
Routing Service Shell did not print complete product version
14.7.5.
[Major]
Routing Service Socket Adapter example did not properly resolve hostname
14.7.6.
[Minor]
<configuration_variables> ignored when used in <types> and <qos_library>
14.8. Previous Releases
14.8.1. What’s New in 7.2.0
14.8.1.1. Support for dynamic certificate renewal
14.8.1.2. Support for dynamic certificate revocation
14.8.1.3. Support for Monitoring Library 2.0
14.8.1.4. Third-party software changes
14.8.2. What’s Fixed in 7.2.0
14.8.2.1.
[Critical]
Possible race condition when propagating content filters
14.8.2.2.
[Major]
Entity Listener API sometimes fired the STARTED event twice
14.8.2.3.
[Major]
Overflows caused issues in period calculations
14.8.3. What’s New in 7.1.0
14.8.4. What’s Fixed in 7.1.0
14.8.4.1.
[Critical]
Routing Service Crashed if -maxObjectsPerThread Set Too Small
14.8.5. What’s New in 7.0.0
14.8.5.1. Third-party software changes
14.8.6. What’s Fixed in 7.0.0
14.8.6.1.
[Critical]
Routing Service stream query propagation did not work when using more than one session
14.8.6.2.
[Major]
Samples published out of order from the same virtual GUID were dropped
14.8.6.3.
[Minor]
Schema files not compliant with DDS-XML specification
14.8.6.4.
[Trivial]
Fourth digit of product version not logged by Routing Service at startup
14.9. Known Issues
14.9.1. Attempting to route builtin Security Logging topic causes Routing Service crash
14.9.2. Some tags in the XML configuration must be grouped in a strict order
14.9.3. Routing Service Adapters built using Java fail on Windows machines when using OpenJDK
RTI Routing Service
11.
Advanced Use Cases
View page source
11.
Advanced Use Cases
11.1. Propagating Content Filters
11.1.1. Enabling Filter Propagation
11.1.2. Filter Propagation Behavior
11.1.3. Filter Propagation Events
11.1.4. Restrictions
11.2. Topic Query Support
11.2.1. Dispatch Mode
11.2.2. Propagation Mode
11.2.3. Restrictions