using opensplice communication functions
#contents
Vortex OpenSplice is communication middleware developed by ADLINK that conforms to the OMG DDS 1.4 and DDSI-RTPS 2.3 specifications.
-
[Data Distribution Service Vortex OpenSplice ADLINK](https://www.adlinktech.com/jp/vortex-opensplice-data-distribution-service)
The following explains how to install and use the OpenSplice plugin for OpenRTM-aist.
C++ Version
Windows
Obtaining OpenSplice
Download OpenSplice from the following and extract it to an appropriate location.
Obtaining RapidXml
Download RapidXml from the following and extract it to an appropriate location.
After extracting it, create a new rapidxml folder and move the header files (.hpp) there. At this time, the extracted path should look like the following.
rapidxml-1.13
- rapidxml
| - rapidxml.hpp
| - rapidxml_iterators.hpp
| - rapidxml_print.hpp
| - rapidxml_utils.hpp
Building OpenRTM-aist
Before building OpenRTM-aist, run the OpenSplice release.bat.
%OpenSplice_DIR%\x86.win32\release.bat
When running CMake, set the OPENSPLICE_ENABLE option to ON, and specify the path where RapidXml was extracted in the RAPIDXML_DIR option.
cmake -DORB_ROOT=C:/workspace/omniORB-4.2.3-win64-vc16 -G "Visual Studio 16 2019" -DOPENSPLICE_ENABLE=ON -DRAPIDXML_DIR=%RAPIDXML_DIR% ..
The other steps are the same as usual.
Install it in an appropriate location.
The installation directory is set with the CMAKE_INSTALL_PREFIX option.
cmake .. -DCMAKE_INSTALL_PREFIX=C:/workspace/OpenRTM-aist/build/install
cmake --build . --config Release --target install
Operation Check
Run the sample components in {installed path}\2.0.0\Components\C++\Examples\vc16. Before starting the RTCs, run the OpenSplice release.bat.
Create rtc.conf with the following content.
manager.modules.load_path: {installed path}\\2.0.0\\ext\\transport
manager.modules.preload: OpenSpliceTransport.dll
manager.components.preconnect: ConsoleOut0.in?interface_type=opensplice, ConsoleIn0.out?interface_type=opensplice
manager.components.preactivation: ConsoleOut0, ConsoleIn0
First, OpenSpliceTransport.dll must be loaded. This setting can be configured with the manager.modules.preload option.
Next, when creating the connector, the interface type must be set to opensplice. Connector creation is configured with the manager.components.preconnect option. In this example, connectors are created for the in port of the ConsoleOut0 component and the out port of the ConsoleIn0 component.
Communication becomes possible by running ConsoleInComp.exe and ConsoleOutComp.exe.
Ubuntu
Obtaining OpenSplice
Download OpenSplice from the following and extract it to an appropriate location.
- https://github.com/ADLINK-IST/opensplice/releases
wget https://github.com/ADLINK-IST/opensplice/releases/download/OSPL_V6_9_210323OSS_RELEASE/PXXX-VortexOpenSplice-6.9.210323OSS-HDE-x86_64.linux-gcc7-glibc2.27-installer.tar
tar xf PXXX-VortexOpenSplice-6.9.210323OSS-HDE-x86_64.linux-gcc7-glibc2.27-installer.tar
Installing RapidXml
Install RapidXml with the following command.
sudo apt install librapidxml-dev
Building OpenRTM-aist
Before building OpenRTM-aist, run the OpenSplice release.com.
source ${OPENSPLICE_DIR}/x86_64.linux/release.com
When running CMake, set the OPENSPLICE_ENABLE option to ON.
cmake -DOPENSPLICE_ENABLE=ON ..
The other steps are the same as usual.
Install it in an appropriate location.
The installation directory is set with the CMAKE_INSTALL_PREFIX option.
cmake .. -DCMAKE_INSTALL_PREFIX=~/workspace/OpenRTM-aist/build/install
cmake --build . --config Release --target install
Operation Check
Run the sample components in {installed path}/share/openrtm-2.0/components/c++/examples. Before starting the RTCs, run the OpenSplice release.com.
Create rtc.conf with the following content.
manager.modules.load_path: {installed path}/lib/openrtm-2.0
manager.modules.preload: OpenSpliceTransport.so
manager.components.preconnect: ConsoleOut0.in?interface_type=opensplice, ConsoleIn0.out?interface_type=opensplice
manager.components.preactivation: ConsoleOut0, ConsoleIn0
First, OpenSpliceTransport.so must be loaded. This setting can be configured with the manager.modules.preload option.
Next, when creating the connector, the interface type must be set to opensplice. Connector creation is configured with the manager.components.preconnect option. In this example, connectors are created for the in port of the ConsoleOut0 component and the out port of the ConsoleIn0 component.
Communication becomes possible by running ConsoleInComp and ConsoleOutComp.
Python Version
Windows
Installing OpenSplice
First, you need to install the OpenSplice Python wrapper library.
Extract the prebuilt OpenSplice to an appropriate location.
- https://github.com/ADLINK-IST/opensplice/releases
Next, run the following commands in HDE\x86_64.win64\tools\python\src in the extracted folder to install it.
{directory where OpenSplice was extracted}\HDE\x86_64.win64\release.bat
python setup.py build
python setup.py install
If Cython is not installed, run the following command.
pip install cython
- Building with setup.py above requires the same version of Visual Studio as the one used to build Python. Python 2.7 requires Visual Studio 2008, and Python 3.7 requires Visual Studio 2017.
Installing OpenRTM-aist
Install OpenRTM-aist 1.2 or similar using the installer in advance. Obtain the source code of the Python version of OpenRTM-aist.
- https://github.com/OpenRTM/OpenRTM-aist-Python
Install the Python version of OpenRTM-aist with the following commands.
python setup.py build
python setup.py install
Operation Check
Before operation, run the following command.
{directory where OpenSplice was extracted}\HDE\x86_64.win64\release.bat
Create an rtc.conf like the following, load OpenSpliceTransport.py, specify opensplice as the interface type, and start the RTC.
manager.modules.load_path: C:\\Python37\\Lib\\site-packages\\OpenRTM_aist\\ext\\transport\\OpenSplice
manager.modules.preload: OpenSpliceTransport.py
manager.components.preconnect: ConsoleOut0.in?interface_type=opensplice&marshaling_type=opensplice, ConsoleIn0.out?interface_type=opensplice&marshaling_type=opensplice
Ubuntu
Installing OpenSplice
First, you need to install the OpenSplice Python wrapper library. Download OpenSplice from the following and extract it to an appropriate location.
- https://github.com/ADLINK-IST/opensplice/releases
wget https://github.com/ADLINK-IST/opensplice/releases/download/OSPL_V6_9_210323OSS_RELEASE/PXXX-VortexOpenSplice-6.9.210323OSS-HDE-x86_64.linux-gcc7-glibc2.27-installer.tar
tar xf PXXX-VortexOpenSplice-6.9.210323OSS-HDE-x86_64.linux-gcc7-glibc2.27-installer.tar
Next, run the following commands in HDE/x86_64.linux/tools/python/src in the extracted folder to install it.
source ${OPENSPLICE_DIR}/x86_64.linux/release.com
python3 setup.py build
sudo su
# source ${OPENSPLICE_DIR}/x86_64.linux/release.com
# python3 setup.py install
# exit
If Cython is not installed, run the following command.
sudo apt install python3-pip
pip3 install cython
Installing omniORB-python
Install the Python version of omniORB.
sudo su
# echo "deb http://openrtm.org/pub/Linux/ubuntu/ $code_name main" >> /etc/apt/sources.list
# wget -O- --secure-protocol=TLSv1_2 --no-check-certificate https://openrtm.org/pub/openrtm.key | apt-key add -
# apt update
# apt install python3-omniorb python3-omniorb-omg omniidl-python3
# exit
Installing OpenRTM-aist
Install OpenRTM-aist 1.2 or similar using the installer in advance. Obtain the source code of the Python version of OpenRTM-aist.
- https://github.com/OpenRTM/OpenRTM-aist-Python
Install the Python version of OpenRTM-aist with the following commands.
sudo apt install doxygen
python3 setup.py build
sudo python3 setup.py install
Operation Check
Before operation, run release.com.
Create an rtc.conf like the following, load OpenSpliceTransport.py, specify opensplice as the interface type, and start the RTC.
manager.modules.load_path: /usr/local/lib/python3.6/dist-packages/OpenRTM_aist/ext/transport/OpenSplice
manager.modules.preload: OpenSpliceTransport.py
manager.components.preconnect: ConsoleOut0.in?interface_type=opensplice&marshaling_type=opensplice, ConsoleIn0.out?interface_type=opensplice&marshaling_type=opensplice
Startup Options
C++
The following options can be set in rtc.conf when starting the OpenRTM-aist manager.
- These options can be used in OpenRTM-aist under development, but may not be implemented in released versions.
| Option Name | Setting Example | Options | Description |
|---|---|---|---|
| opensplice.uri | file://OpenSpliceQoSExample.xml | Specifies the OpenSplice QoS configuration file. | |
| opensplice.profile | testProfile | Specifies the QoS profile name. | |
| opensplice.participant_qos.name | testParticipant | Profile name of the DomainParticipant to load | |
| opensplice.participant_qos.entity_factory.autoenable_created_entities | YES | YES,NO | |
| opensplice.participant_qos.listener_scheduling.scheduling_class.kind | SCHEDULE_DEFAULT | SCHEDULE_DEFAULT,SCHEDULE_TIMESHARING,SCHEDULE_REALTIME | |
| opensplice.participant_qos.listener_scheduling.scheduling_priority | 1 | ||
| opensplice.participant_qos.listener_scheduling.scheduling_priority_kind.kind | PRIORITY_RELATIVE | PRIORITY_RELATIVE,PRIORITY_ABSOLUTE | |
| opensplice.participant_qos.watchdog_scheduling.scheduling_class.kind | SCHEDULE_DEFAULT | SCHEDULE_DEFAULT,SCHEDULE_TIMESHARING,SCHEDULE_REALTIME | |
| opensplice.participant_qos.watchdog_scheduling.scheduling_priority | 1 | ||
| opensplice.participant_qos.watchdog_scheduling.scheduling_priority_kind.kind | PRIORITY_RELATIVE | PRIORITY_RELATIVE,PRIORITY_ABSOLUTE | |
| opensplice.publisher_qos.entity_factory.autoenable_created_entities | YES | YES,NO | |
| opensplice.publisher_qos.presentation.access_scope | INSTANCE_PRESENTATION_QOS | INSTANCE_PRESENTATION_QOS,TOPIC_PRESENTATION_QOS,GROUP_PRESENTATION_QOS | |
| opensplice.publisher_qos.presentation.coherent_access | YES | YES,NO | |
| opensplice.publisher_qos.presentation.ordered_access | YES | YES,NO | |
| opensplice.publisher_qos.id | testPublisher | Profile name of the Publisher to load | |
| opensplice.subscriber_qos.entity_factory.autoenable_created_entities | YES | YES,NO | |
| opensplice.subscriber_qos.presentation.access_scope | INSTANCE_PRESENTATION_QOS | INSTANCE_PRESENTATION_QOS,TOPIC_PRESENTATION_QOS,GROUP_PRESENTATION_QOS | |
| opensplice.subscriber_qos.presentation.coherent_access | YES | YES,NO | |
| opensplice.subscriber_qos.presentation.ordered_access | YES | YES,NO | |
| opensplice.subscriber_qos.share.enable | YES | YES,NO | |
| opensplice.subscriber_qos.id | testSubscriber | Profile name of the Subscriber to load |
A description example is shown below.
opensplice.uri: file://OpenSpliceQoSExample.xml
opensplice.profile: testProfile
Python
| Option Name | Setting Example | Options | Description |
|---|---|---|---|
| opensplice.uri | file://OpenSpliceQoSExample.xml | Specifies the OpenSplice QoS configuration file. | |
| opensplice.profile | testProfile | Specifies the QoS profile name. | |
| opensplice.publisher_qos.presentation.access_scope | |||
| opensplice.publisher_qos.presentation.coherent_access | |||
| opensplice.publisher_qos.presentation.ordered_access | |||
| opensplice.subscriber_qos.presentation.access_scope | |||
| opensplice.subscriber_qos.presentation.coherent_access | |||
| opensplice.subscriber_qos.presentation.ordered_access |
A description example is shown below.
opensplice.uri: file://OpenSpliceQoSExample.xml
opensplice.profile: testProfile
Connection Options
C++
The options that can be set in the connector profile when connecting data ports are as follows.
| Option Name | Default Value | Options | Description |
|---|---|---|---|
| opensplice.topic | chatter | Name of the DDS topic | |
| opensplice.reader_qos.id | Profile name of the Reader to load | ||
| opensplice.writer_qos.id | Profile name of the Writer to load | ||
| opensplice.topic_qos.id | Profile name of the Topic to load | ||
| opensplice.reader_qos.durability.kind | TRANSIENT_DURABILITY_QOS | VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS | |
| opensplice.reader_qos.deadline.period.sec | 2147483647 | ||
| opensplice.reader_qos.deadline.period.nanosec | 2147483647 | ||
| opensplice.reader_qos.latency_budget.duration.sec | 0 | ||
| opensplice.reader_qos.latency_budget.duration.nanosec | 0 | ||
| opensplice.reader_qos.liveliness.kind | AUTOMATIC_LIVELINESS_QOS | AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS | |
| opensplice.reader_qos.liveliness.lease_duration.sec | 2147483647 | ||
| opensplice.reader_qos.liveliness.lease_duration.nanosec | 2147483647 | ||
| opensplice.reader_qos.reliability.kind | BEST_EFFORT_RELIABILITY_QOS | BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS | |
| opensplice.reader_qos.reliability.max_blocking_time.sec | 2147483647 | ||
| opensplice.reader_qos.reliability.max_blocking_time.nanosec | 2147483647 | ||
| opensplice.reader_qos.reliability.synchronous | NO | YES, NO | |
| opensplice.reader_qos.destination_order.kind | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS | |
| opensplice.reader_qos.history.kind | KEEP_LAST_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | |
| opensplice.reader_qos.history.depth | 1 | ||
| opensplice.reader_qos.resource_limits.max_samples | -1 | ||
| opensplice.reader_qos.resource_limits.max_instances | -1 | ||
| opensplice.reader_qos.resource_limits.max_samples_per_instance | -1 | ||
| opensplice.reader_qos.ownership.kind | SHARED_OWNERSHIP_QOS | SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS | |
| opensplice.reader_qos.time_based_filter.minimum_separation.sec | 0 | ||
| opensplice.reader_qos.time_based_filter.minimum_separation.nanosec | 0 | ||
| opensplice.reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.sec | 2147483647 | ||
| opensplice.reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.nanosec | 2147483647 | ||
| opensplice.reader_qos.reader_data_lifecycle.autopurge_dispose_all | NO | YES, NO | |
| opensplice.reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.sec | 2147483647 | ||
| opensplice.reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.nanosec | 2147483647 | ||
| opensplice.reader_qos.reader_data_lifecycle.enable_invalid_samples | YES | YES, NO | |
| opensplice.reader_qos.reader_data_lifecycle.invalid_sample_visibility.kind | MINIMUM_INVALID_SAMPLES | NO_INVALID_SAMPLES, MINIMUM_INVALID_SAMPLES, ALL_INVALID_SAMPLES | |
| opensplice.writer_qos.durability.kind | TRANSIENT_DURABILITY_QOS | VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS | |
| opensplice.writer_qos.deadline.period.sec | 2147483647 | ||
| opensplice.writer_qos.deadline.period.nanosec | 2147483647 | ||
| opensplice.writer_qos.latency_budget.duration.sec | 0 | ||
| opensplice.writer_qos.latency_budget.duration.nanosec | 0 | ||
| opensplice.writer_qos.liveliness.kind | AUTOMATIC_LIVELINESS_QOS | AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS | |
| opensplice.writer_qos.liveliness.lease_duration.sec | 2147483647 | ||
| opensplice.writer_qos.liveliness.lease_duration.nanosec | 2147483647 | ||
| opensplice.writer_qos.reliability.kind | RELIABLE_RELIABILITY_QOS | BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS | |
| opensplice.writer_qos.reliability.max_blocking_time.sec | 2147483647 | ||
| opensplice.writer_qos.reliability.max_blocking_time.nanosec | 2147483647 | ||
| opensplice.writer_qos.reliability.synchronous | NO | YES, NO | |
| opensplice.writer_qos.destination_order.kind | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS | |
| opensplice.writer_qos.history.kind | KEEP_LAST_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | |
| opensplice.writer_qos.history.depth | 1 | ||
| opensplice.writer_qos.resource_limits.max_samples | -1 | ||
| opensplice.writer_qos.resource_limits.max_instances | -1 | ||
| opensplice.writer_qos.resource_limits.max_samples_per_instance | -1 | ||
| opensplice.writer_qos.transport_priority.value | 0 | ||
| opensplice.writer_qos.lifespan.duration.sec | 2147483647 | ||
| opensplice.writer_qos.lifespan.duration.nanosec | 2147483647 | ||
| opensplice.writer_qos.ownership.kind | SHARED_OWNERSHIP_QOS | SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS | |
| opensplice.writer_qos.ownership_strength.value | 0 | ||
| opensplice.writer_qos.writer_data_lifecycle.autodispose_unregistered_instances | YES | YES, NO | |
| opensplice.writer_qos.writer_data_lifecycle.autopurge_suspended_samples_delay.sec | 2147483647 | ||
| opensplice.writer_qos.writer_data_lifecycle.autopurge_suspended_samples_delay.nanosec | 2147483647 | ||
| opensplice.writer_qos.writer_data_lifecycle.autounregister_instance_dela.sec | 2147483647 | ||
| opensplice.writer_qos.writer_data_lifecycle.autounregister_instance_dela.nanosec | 2147483647 | ||
| opensplice.topic_qos.durability.kind | TRANSIENT_DURABILITY_QOS | VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS | |
| opensplice.topic_qos.deadline.period.sec | 2147483647 | ||
| opensplice.topic_qos.deadline.period.nanosec | 2147483647 | ||
| opensplice.topic_qos.latency_budget.duration.sec | 0 | ||
| opensplice.topic_qos.latency_budget.duration.nanosec | 0 | ||
| opensplice.topic_qos.liveliness.kind | AUTOMATIC_LIVELINESS_QOS | AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS | |
| opensplice.topic_qos.liveliness.lease_duration.sec | 2147483647 | ||
| opensplice.topic_qos.liveliness.lease_duration.nanosec | 2147483647 | ||
| opensplice.topic_qos.reliability.kind | RELIABLE_RELIABILITY_QOS | BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS | |
| opensplice.topic_qos.reliability.max_blocking_time.sec | 2147483647 | ||
| opensplice.topic_qos.reliability.max_blocking_time.nanosec | 2147483647 | ||
| opensplice.topic_qos.reliability.synchronous | NO | YES, NO | |
| opensplice.topic_qos.destination_order.kind | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS | |
| opensplice.topic_qos.history.kind | KEEP_ALL_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | |
| opensplice.topic_qos.history.depth | 1 | ||
| opensplice.topic_qos.resource_limits.max_samples | -1 | ||
| opensplice.topic_qos.resource_limits.max_instances | -1 | ||
| opensplice.topic_qos.resource_limits.max_samples_per_instance | -1 | ||
| opensplice.topic_qos.transport_priority.value | 0 | ||
| opensplice.topic_qos.lifespan.duration.sec | 2147483647 | ||
| opensplice.topic_qos.lifespan.duration.nanosec | 2147483647 | ||
| opensplice.topic_qos.ownership.kind | SHARED_OWNERSHIP_QOS | SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS | |
| opensplice.topic_qos.transport_priority.value | 0 | ||
| opensplice.topic_qos.durability_service.history_depth | 1 | ||
| opensplice.topic_qos.durability_service.history_kind | KEEP_LAST_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | |
| opensplice.topic_qos.durability_service.max_instances | -1 | ||
| opensplice.topic_qos.durability_service.max_samples | -1 | ||
| opensplice.topic_qos.durability_service.max_samples_per_instance | -1 | ||
| opensplice.topic_qos.durability_service.service_cleanup_delay.sec | 0 | ||
| opensplice.topic_qos.durability_service.service_cleanup_delay.nanosec | 0 |
A setting example is shown below.
manager.components.preconnect: ConsoleOut0.in?interface_type=opensplice&opensplice.topic=testtopic
Python
| Option Name | Default Value | Options | Description | |
|---|---|---|---|---|
| opensplice.topic | chatter | Name of the DDS topic | ||
| opensplice.reader_qos.durability.kind | TRANSIENT_DURABILITY_QOS | VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS | ||
| opensplice.reader_qos.deadline.period.sec | 2147483647 | |||
| opensplice.reader_qos.deadline.period.nanosec | 2147483647 | |||
| opensplice.reader_qos.latency_budget.duration.sec | 0 | |||
| opensplice.reader_qos.latency_budget.duration.nanosec | 0 | |||
| opensplice.reader_qos.liveliness.kind | AUTOMATIC_LIVELINESS_QOS | AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS | ||
| opensplice.reader_qos.liveliness.lease_duration.sec | 2147483647 | |||
| opensplice.reader_qos.liveliness.lease_duration.nanosec | 2147483647 | |||
| opensplice.reader_qos.reliability.kind | BEST_EFFORT_RELIABILITY_QOS | BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS | ||
| opensplice.reader_qos.reliability.max_blocking_time.sec | 2147483647 | |||
| opensplice.reader_qos.reliability.max_blocking_time.nanosec | 2147483647 | |||
| opensplice.reader_qos.destination_order.kind | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS | ||
| opensplice.reader_qos.history.kind | KEEP_LAST_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | ||
| opensplice.reader_qos.history.depth | 1 | |||
| opensplice.reader_qos.resource_limits.max_samples | -1 | |||
| opensplice.reader_qos.resource_limits.max_instances | -1 | |||
| opensplice.reader_qos.resource_limits.max_samples_per_instance | -1 | |||
| opensplice.reader_qos.ownership.kind | SHARED_OWNERSHIP_QOS | SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS | ||
| opensplice.reader_qos.time_based_filter.minimum_separation.sec | 0 | |||
| opensplice.reader_qos.time_based_filter.minimum_separation.nanosec | 0 | |||
| opensplice.reader_qos.autopurge_disposed_samples_delay.sec | 2147483647 | |||
| opensplice.reader_qos.autopurge_disposed_samples_delay.nanosec | 2147483647 | |||
| opensplice.reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.sec | 2147483647 | |||
| opensplice.reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.nanosec | 2147483647 | |||
| opensplice.writer_qos.durability.kind | TRANSIENT_DURABILITY_QOS | VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS | ||
| opensplice.writer_qos.deadline.period.sec | 2147483647 | |||
| opensplice.writer_qos.deadline.period.nanosec | 2147483647 | |||
| opensplice.writer_qos.latency_budget.duration.sec | 0 | |||
| opensplice.writer_qos.latency_budget.duration.nanosec | 0 | |||
| opensplice.writer_qos.liveliness.kind | AUTOMATIC_LIVELINESS_QOS | AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS | ||
| opensplice.writer_qos.liveliness.lease_duration.sec | 2147483647 | |||
| opensplice.writer_qos.liveliness.lease_duration.nanosec | 2147483647 | |||
| opensplice.writer_qos.reliability.kind | BEST_EFFORT_RELIABILITY_QOS | BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS | ||
| opensplice.writer_qos.reliability.max_blocking_time.sec | 2147483647 | |||
| opensplice.writer_qos.reliability.max_blocking_time.nanosec | 2147483647 | |||
| opensplice.writer_qos.destination_order.kind | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS | ||
| opensplice.writer_qos.history.kind | KEEP_LAST_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | ||
| opensplice.writer_qos.history.depth | 1 | |||
| opensplice.writer_qos.resource_limits.max_samples | -1 | |||
| opensplice.writer_qos.resource_limits.max_instances | -1 | |||
| opensplice.writer_qos.resource_limits.max_samples_per_instance | -1 | |||
| opensplice.writer_qos.transport_priority.value | SHARED_OWNERSHIP_QOS | SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS | ||
| opensplice.writer_qos.lifespan.duration.sec | 0 | |||
| opensplice.writer_qos.lifespan.duration.nanosec | 0 | |||
| opensplice.writer_qos.ownership.kind | SHARED_OWNERSHIP_QOS | SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS | ||
| opensplice.writer_qos.ownership_strength.value | 0 | |||
| opensplice.writer_qos.writer_data_lifecycle.autodispose_unregistered_instances | YES | YES, NO | ||
| opensplice.topic_qos.durability.kind | TRANSIENT_DURABILITY_QOS | VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS | ||
| opensplice.topic_qos.deadline.period.sec | 2147483647 | |||
| opensplice.topic_qos.deadline.period.nanosec | 2147483647 | |||
| opensplice.topic_qos.latency_budget.duration.sec | 0 | |||
| opensplice.topic_qos.latency_budget.duration.nanosec | 0 | |||
| opensplice.topic_qos.liveliness.kind | AUTOMATIC_LIVELINESS_QOS | AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS | ||
| opensplice.topic_qos.liveliness.lease_duration.sec | 2147483647 | |||
| opensplice.topic_qos.liveliness.lease_duration.nanosec | 2147483647 | |||
| opensplice.topic_qos.reliability.kind | RELIABLE_RELIABILITY_QOS | BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS | ||
| opensplice.topic_qos.reliability.max_blocking_time.sec | 2147483647 | |||
| opensplice.topic_qos.reliability.max_blocking_time.nanosec | 2147483647 | |||
| opensplice.topic_qos.destination_order.kind | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS | BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS | ||
| opensplice.topic_qos.history.kind | KEEP_ALL_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | ||
| opensplice.topic_qos.history.depth | 1 | |||
| opensplice.topic_qos.resource_limits.max_samples | -1 | |||
| opensplice.topic_qos.resource_limits.max_instances | -1 | |||
| opensplice.topic_qos.resource_limits.max_samples_per_instance | -1 | |||
| opensplice.topic_qos.transport_priority.value | 0 | |||
| opensplice.topic_qos.lifespan.duration.sec | 2147483647 | |||
| opensplice.topic_qos.lifespan.duration.nanosec | 2147483647 | |||
| opensplice.topic_qos.ownership.kind | SHARED_OWNERSHIP_QOS | SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS | ||
| opensplice.topic_qos.transport_priority.value | 0 | |||
| opensplice.topic_qos.durability_service.history_depth | 1 | |||
| opensplice.topic_qos.durability_service.history_kind | KEEP_LAST_HISTORY_QOS | KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS | ||
| opensplice.topic_qos.durability_service.max_instances | -1 | |||
| opensplice.topic_qos.durability_service.max_samples | -1 | |||
| opensplice.topic_qos.durability_service.max_samples_per_instance | -1 | |||
| opensplice.topic_qos.durability_service.service_cleanup_delay.sec | 0 | |||
| opensplice.topic_qos.durability_service.service_cleanup_delay.nanosec | 0 |
manager.components.preconnect: ConsoleOut0.in?interface_type=opensplice&opensplice.topic=testtopic
Other
OpenSplice Configuration File
The OpenSplice configuration file is set with the environment variable ${OSPL_URI}.
By default, ${OSPL_URI}/etc/config/ospl.xml is set.
For example, to change the domain ID, change the following part of ospl.xml.
<OpenSplice>
<Domain>
<Name>ospl_sp_ddsi</Name>
<!-- 以下を変更する -->
<Id>1</Id>
<SingleProcess>true</SingleProcess>
To output detailed logs, add the following part.
<DDSI2Service name="ddsi2">
<!-- 以下を追加する -->
<Tracing>
<Verbosity>FINEST</Verbosity>
</Tracing>
<!-- ここまで -->
<General>