RTI Routing Service
7.4.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. Dynamic Data 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.4.0
14.3.1. New API in Routing Service Library API to Send Remote Commands
14.4. What’s Fixed in 7.4.0
14.4.1. Serialization and Deserialization
14.4.1.1.
[Critical]
Error propagating samples received using Zero Copy in a route setting <content_filter> or enabling <filter_propagation>
14.4.2. Dynamic Data
14.4.2.1.
[Major]
Routing Service did not work with empty structs
14.4.3. Crashes
14.4.3.1.
[Critical]
Routing Service could crash if trying to allocate with insufficient memory
14.4.4. Vulnerabilities
14.4.4.1.
[Critical]
Stack buffer write overflow could occur when parsing malicious XML types document
14.4.4.2.
[Critical]
Stack Overflow could occur when using XML configuration file referencing environment variables
14.5. Known Issues
14.5.1. Attempting to route builtin Security Logging topic causes Routing Service crash
14.5.2. Some tags in the XML configuration must be grouped in a strict order
14.5.3. Routing Service Adapters built using Java fail on Windows machines when using OpenJDK
RTI Routing Service
14.
Release Notes
View page source
14.
Release Notes
14.1. Supported Platforms
14.2. Compatibility
14.3. What’s New in 7.4.0
14.3.1. New API in Routing Service Library API to Send Remote Commands
14.4. What’s Fixed in 7.4.0
14.4.1. Serialization and Deserialization
14.4.2. Dynamic Data
14.4.3. Crashes
14.4.4. Vulnerabilities
14.5. Known Issues
14.5.1. Attempting to route builtin Security Logging topic causes Routing Service crash
14.5.2. Some tags in the XML configuration must be grouped in a strict order
14.5.3. Routing Service Adapters built using Java fail on Windows machines when using OpenJDK