RTI Connext DDS Micro
Version 2.4.7
|
RTI Connext DDS Micro is network middleware for distributed real-time applications. It provides the communications service programmers need to distribute time-critical data between embedded and/or enterprise devices or nodes. RTI Connext DDS Micro uses the publish-subscribe communications model to make data distribution efficient and robust. RTI Connext DDS Micro simplifies application development, deployment and maintenance and provides fast, predictable distribution of time-critical data over a variety of transport networks. With RTI Connext DDS Micro, you can:
RTI Connext DDS Micro implements the Data-Centric Publish-Subscribe (DCPS) API within the OMG’s Data Distribution Service (DDS) for Real-Time Systems. DDS is the first standard developed for the needs of real-time systems. DCPS provides an efficient way to transfer data in a distributed system.
With RTI Connext DDS Micro, systems designers and programmers start with a fault-tolerant and flexible communications infrastructure that will work over a wide variety of computer hardware, operating systems, languages, and networking transport protocols. RTI Connext DDS Micro is highly configurable so programmers can adapt it to meet the application’s specific communication requirements.
RTI Connext DDS Micro and RTI Connext DDS Cert originates from the same source base, but as of RTI Connext DDS Micro 2.4.6 the two are maintained as two independent releases. The latest release with certification evidence is RTI Connext DDS Cert 2.4.5. However, features that exist in RTI Connext DDS Micro and RTI Connext DDS Cert behave identically and the source code is written following identical guidelines. RTI Connext DDS Cert only supports a subset of the features found in RTI Connext DDS Micro. In the API reference manuals, APIs that are supported by RTI Connext DDS Cert are clearly marked.
An optional Certification Package is available for systems that require certification to DO-178C or other safety standards. This package includes the artifacts required by a certification authority. The Certification Package is licensed separately from Connext DDS Cert.
To use an existing Certification Package, an application must be linked against the same libraries included in the Certification Package. Contact RTI Support, suppo, for details. rt@r ti.co m
RTI Connext DDS Micro is based on a publish-subscribe communications model. Publish-subscribe (PS) middleware provides a simple and intuitive way to distribute data. It decouples the software that creates and sends data—the data publishers—from the software that receives and uses the data—the data subscribers. Publishers simply declare their intent to send and then publish the data. Subscribers declare their intent to receive, then the data is automatically delivered by the middleware. Despite the simplicity of the model, PS middleware can handle complex patterns of information flow. The use of PS middleware results in simpler, more modular distributed applications. Perhaps most importantly, PS middleware can automatically handle all network chores, including connections, failures, and network changes, eliminating the need for user applications to program of all those special cases. What experienced network middleware developers know is that handling special cases accounts for over 80% of the effort and code.
RTI Connext DDS Micro supports mechanisms that go beyond the basic publish-subscribe model. The key benefit is that applications that use RTI Connext DDS Micro for their communications are entirely decoupled. Very little of their design time has to be spent on how to handle their mutual interactions. In particular, the applications never need information about the other participating applications, including their existence or locations. RTI Connext DDS Micro automatically handles all aspects of message delivery, without requiring any intervention from the user applications, including:
This is made possible by how RTI Connext DDS Micro allows the user to specify Quality of Service (QoS) parameters as a way to configure automatic-discovery mechanisms and specify the behavior used when sending and receiving messages. The mechanisms are configured up-front and require no further effort on the user's part. By exchanging messages in a completely anonymous manner, RTI Connext DDS Micro greatly simplifies distributed application design and encourages modular, well-structured programs. Furthermore, RTI Connext DDS Micro includes the following features, which are designed to meet the needs of distributed real-time applications:
RTI Connext DDS Micro is one of several products in the RTI Connex family of products:
RTI Connext DDS Cert is a subset of RTI Connext DDS Micro. RTI Connext DDS Cert does not include the following features because Certification Evidence is not yet available for them. If you require Certification Evidence for any of these features, please contact RTI.
RTI Connext DDS Professional addresses the sophisticated data bus requirements in complex systems including an API compliant with the Object Management Group (OMG) Data Distribution Service (DDS) specification. DDS is the leading data-centric publish/subscribe (DCPS) messaging standard for integrating distributed real-time applications. Connext DDS Professional is the dominant industry implementation with benefits including:
RTI Connext DDS Professional includes rich integration capabilities:
RTI Connext DDS Professional also includes a rich set of tools to accelerate debugging and testing while easing management of deployed systems. These components include:
RTI Connext DDS Micro supports a subset of the DDS DCPS standard. A brief overview of the supported features are listed here. For a detailed list, please refer to Reference Manuals.
RTI Connext DDS Micro supports the following DDS entities. Please refer to the documentation for details.
RTI Connext DDS Micro supports the following DDS Qos Policies. Please refer to the documentation for details.
RTI Connext DDS Micro supports C and C++ language bindings.
RTI Connext DDS Micro is available as pre-built binaries for the following platforms.
Note that RTI only tests on a subset of the possible combinations of OS and CPU. Please refer to the following tables for a list of specific platforms and the specific configurations that are tested by RTI.
Operating System | CPU | Compiler | RTI Architecture Abbreviation |
---|---|---|---|
Red Hat Enterprise Linux 6.0, 6.1 (2.6 kernel) | x86 | gcc 4.4.5 | i86Linux2.6gcc4.4.5 |
Linux Build Instructions
RTI Architecture | Required System Libraries | Required Compiler Flags |
---|---|---|
i86Linux2.6gcc4.4.5 (Release) | -ldl -lnsl -lm- lpthread -lrt | -fPIC -DLINUX -DRTI_GCC4 -DRTI_LINUX26 -DRTI_LINUX -DRTI_POSIX_THREADS -DRTI_POSIX_SEMAPHORES -DRTI_CPU_AFFINITY -O -Wall -Wno-unknown-pragmas -DRTI_UNIX -DRTS_UNIX -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=I80586 -DRTI_ENDIAN_LITTLE -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 -DNDEBUG |
i86Linux2.6gcc4.4.5 (Debug) | -ldl -lnsl -lm- lpthread -lrt | -fPIC -DLINUX -DRTI_GCC4 -DRTI_LINUX26 -DRTI_LINUX -DRTI_POSIX_THREADS -DRTI_POSIX_SEMAPHORES -DRTI_CPU_AFFINITY -g -DRTI_PRECONDITION_TEST -Wall -Wno-unknown-pragmas -DRTI_UNIX -DRTS_UNIX -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=I80586 -DRTI_ENDIAN_LITTLE -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 |
Operating System | CPU | Compiler | RTI Architecture Abbreviation |
---|---|---|---|
Windows 7 | x86 | Visual Studio 2010 | i86Win32VS2010 |
Windows Build Instructions
RTI Architecture | Required System Libraries | Required Compiler Flags |
---|---|---|
i86Win32VS2010 | netapi32.lib advapi32.lib user32.lib WS2_32.lib Iphlpapi.lib winmm.lib | /D “RTI_WIN32” /D “WIN32”/Gd /MT (Static Release) /MTd (Static Debug) /MD (Dynamic Release) /MDd (Dynamic Debug) /D “NDDS_DLL_VARIABLE (Dynamic) /D “NDEBUG” (Release) |
Operating System | CPU | Compiler | RTI Architecture Abbreviation |
---|---|---|---|
VxWorks 6.9 | Pentium 32-bit | gcc 4.3.3 | For Kernel Modules: pentiumVx6.9gcc4.3.3 For Real Time Processes: pentiumVx6.9gcc4.3.3_rtp |
VxWorks 6.9 | PPC32 | gcc 4.3.3 | For Kernel Modules: ppc604Vx6.9gcc4.3.3 For Real Time Processes: ppc604Vx6.9gcc4.3.3_rtp |
VxWorks Cert 6.6.4.1 | PPC32 e500v2 | gcc 4.1.2 | ppce500v2VxCert6.6.4.1gcc4.1.2 |
VxWorks Build Instructions
RTI Architecture | Required Compiler Flags |
---|---|
pentiumVx6.9gcc4.3.3 (Release) | -march=pentium -m32 -fno-builtin -ansi - DCPU=PENTIUM -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_GCC4 -D_WRS_KERNEL -D__PROTOTYPE_5_0 -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -O -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PENTIUM -DRTI_ENDIAN_LITTLE -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 -DNDEBUG |
pentiumVx6.9gcc4.3.3 (Debug) | -march=pentium -m32 -fno-builtin -ansi -DCPU=PENTIUM -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_GCC4 -D_WRS_KERNEL -D__PROTOTYPE_5_0 -g -DRTI_PRECONDITION_TEST -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PENTIUM -DRTI_ENDIAN_LITTLE -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 |
pentiumVx6.9gcc4.3.3_rtp (Release) | -march=pentium -m32 -ansi -DCPU=PENTIUM -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_GCC4 -mrtp -D__PROTOTYPE_5_0 -O -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DRTI_RTP -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PENTIUM -DRTI_ENDIAN_LITTLE -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 -DNDEBUG |
pentiumVx6.9gcc4.3.3_rtp (Debug) | -march=pentium -m32 -ansi -DCPU=PENTIUM -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_GCC4 -mrtp -fPIC -D__PROTOTYPE_5_0 -g -DRTI_PRECONDITION_TEST -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DRTI_RTP -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PENTIUM -DRTI_ENDIAN_LITTLE -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 |
ppc604Vx6.9gcc4.3.3 (Release) | -m32 -mstrict-align -ansi -fno-builtin -mlongcall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_USE_MUNCH -DRTI_GCC4 -D_WRS_KERNEL -D__PROTOTYPE_5_0 -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -O2 -fno-strict-aliasing -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PPC32 -DRTI_ENDIAN_BIG -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 -DNDEBUG |
ppc604Vx6.9gcc4.3.3 (Debug) | -m32 -mstrict-align -ansi -fno-builtin -mlongcall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_USE_MUNCH -DRTI_GCC4 -D_WRS_KERNEL -D__PROTOTYPE_5_0 -g -DRTI_PRECONDITION_TEST -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PPC32 -DRTI_ENDIAN_BIG -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 |
ppc604Vx6.9gcc4.3.3_rtp (Release) | -mhard-float -mstrict-align -m32 -mregnames -ansi -mlongcall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_USE_MUNCH -DRTI_GCC4 -DRTI_RTP -mrtp -D__PROTOTYPE_5_0 -O2 -fno-strict-aliasing -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DRTI_RTP -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PPC32 -DRTI_ENDIAN_BIG -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 -DNDEBUG |
ppc604Vx6.9gcc4.3.3_rtp (Debug) | -mhard-float -mstrict-align -m32 -mregnames -ansi -mlongcall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -DRTI_USE_MUNCH -DRTI_GCC4 -DRTI_RTP -mrtp -fPIC -D__PROTOTYPE_5_0 -g -DRTI_PRECONDITION_TEST -Wall -Wno-unknown-pragmas -DRTI_VXWORKS -DRTS_VXWORKS -DRTI_RTP -DVXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=9 -DPtrIntType=long -DCSREAL_IS_FLOAT -DCPU=PPC32 -DRTI_ENDIAN_BIG -DRTI_THREADS -DRTI_MULTICAST -DRTI_SHARED_MEMORY -DRTI_IPV6 |
ppce500v2VxCert6.6.4.1gcc4.1.2 (Release) | -m32 -mstrict-align -mcpu=8548 -mfloat-gprs=double -mspe=yes -mabi=spe -ansi -fno-exceptions -fno-builtin -Wall -msdata=eabi -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=e500v2gnu -VXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=6 -DCERT -DRTI_CERT -DRTI_ENDIAN_BIG -DRTI_VXWORKS -DOSAPI_PLATFORM=4 -O -DNDEBUG |
ppce500v2VxCert6.6.4.1gcc4.1.2 (Debug) | -m32 -mstrict-align -mcpu=8548 -mfloat-gprs=double -mspe=yes -mabi=spe -ansi -fno-exceptions -fno-builtin -Wall -msdata=eabi -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=e500v2gnu -VXWORKS_MAJOR_VERSION=6 -DVXWORKS_MINOR_VERSION=6 -DCERT -DRTI_CERT -DRTI_ENDIAN_BIG -DRTI_VXWORKS -DOSAPI_PLATFORM=4 -O -g |
Operating System | CPU | Compiler | RTI Architecture Abbreviation |
---|---|---|---|
Android NDK, Revision 8d | ARMv7 | gcc 4.7 | armv7leAndroidR8Dgcc4.7 |
Android Build Instructions
RTI Architecture | Required Compiler Flags |
---|---|
armv7leAndroidR8Dgcc4.7 | -march=armv7-a -mfpu=neon -msoft-float -mlong-calls |
To be able to use the RTI Connext Micro libraries, the Android manifest should have the following permissions:
RTI Connext DDS Micro has been built for iOS 8.2 and tested on an iPad with A8 and iOS 8.1. Note that iOS is currently only supported with buildable source, RTI does not ship prebuilt libraries.
Operating System | CPU | Compiler |
---|---|---|
iOS 8.2 | armv7 | Xcode 6.2/clang 6.0 |
iOS 8.2 | armv7s | Xcode 6.2/clang 6.0 |
iOS 8.2 | arm64 | Xcode 6.2/clang 6.0 |
Please refer to Building for iOS for instructions on how to build RTI Connext DDS Micro for iOS.
RTI Connext DDS Micro is available as a buildable source. You can build the source yourself, in your own development environment, and port RTI Connext DDS Micro to your own platforms. With the open-source build tool cmake, you can generate native makefiles and workspaces for any of the cmake-supported platforms. For building embedded platforms such as VxWorks, consult cmake documentation or contact RTI Support to create the necessary cross-compilation toolchain files.
RTI Connext DDS Micro is known to run on the following 32 bit CPU's:
RTI Connext DDS Micro is known to run on the following OSs:
RTI Connext DDS Micro is known to run with the following network stacks:
Buildable source is available in a separate downloadable bundle. Contact sales to request access. @rti .com
RTI Connext DDS Micro implements the Object Management Group (OMG) Data Distribution Service (DDS) standard (version 1.2), and the Real-Time Publish-Subscribe (RTPS) wire interoperabilty protocol standard (version 2.2).
RTI Connext DDS Micro supports a subset of the submessages defined by the Real-Time Publish-Subscribe (RTPS) interoperability specification. Data fragment submessages are not supported. The messages are compatible with Wireshark and its RTPS packet dissector.
RTI Connext DDS Micro and RTI Connext DDS Core are wire-interoperable, unless stated otherwise (see below), and API compatible for APIs specified by the DDS standard. For non-standard APIs, RTI Connext DDS Micro and RTI Connext DDS Core are incompatible. Please refer to RTI Connext DDS Micro and other RTI Products for more information.
RTI Connext DDS Micro is compliant with RTPS 2.2, but does not support and ignored the following RTPS sub-messages:
Submessage | Supported | DDS standard | Connext Core |
---|---|---|---|
DATA_FRAG | No | Yes | Yes |
NACK_FRAG | No | Yes | Yes |
HEARTBEAT_FRAG | No | Yes | Yes |
INFO_SRC | No | Yes | Yes |
INFO_REPLY | No | Yes | Yes |
INFO_REPLY_IPV4 | No | Yes | Yes |
The table lists supported Qos policies
Profile / Feature | Supported | DDS standard | Connext Core |
---|---|---|---|
USER_DATA | No | Yes | Yes |
TOPIC_DATA | No | Yes | Yes |
DURABILITY | VOLATILE and TRANSIENT_LOCAL | Yes | Yes |
PRESENTATION | No, default is access_scope = TOPIC | Yes | Yes |
DEADLINE | Yes | Yes | Yes |
LATENCY_BUDGET | No | Yes | Yes |
LIVELINESS | AUTOMATIC (infinite only), MANUAL_BY_PARTICIPANT (infinite only), MANUAL_BY_TOPIC (finite and infinite) | Yes | Yes |
TIME_BASED_FILTER | No | Yes | Yes |
PARTITION | No | Yes | Yes |
RELIABILITY | BEST_EFFORT and RELIABLE, only max_blocking_time=0 | Yes | Yes |
TRANSPORT_PRIORITY | No | Yes | Yes |
LIFESPAN | No | Yes | Yes |
DESTINATION_ORDER | No, only default BY_RECEPTION_TIMESTAMP | Yes | Yes |
HISTORY | KEEP_ALL (no), KEEP_LAST (yes) | Yes | Yes |
RESOURCE_LIMITS | Yes, but only finite resource-limits | Yes | Yes |
ENTITY_FACTORY | Yes | Yes | Yes |
ENTITY_FACTORY | Yes | Yes | Yes |
WRITER_DATA_LIFECYCLE | No | Yes | Yes |
READER_DATA_LIFECYCLE | No | Yes | Yes |
OWNERSHIP | Yes | Yes | Yes |
OWNERSHIP_STRENGTH | Yes | Yes | Yes |
DURABILITY_SERVICE | No | Yes | Yes |
ContentFilteredTopic | No | Yes | Yes |
QueryCondition | No | Yes | Yes |
MultiTopic | No | Yes | No |
ASYNCHRONOUS_PUBLISHER | No | No | Yes |
AVAILABILITY | No | No | Yes |
BATCH | No | No | Yes |
DATA_READER_PROTOCOL | rtps_object_id | No | Yes |
DATA_WRITER_PROTOCOL | heartbeat_period, heartbeats_per_max_samples,max_heartbeat_retries,max_send_window_size,rtps_object_id | No | Yes |
DISCOVERY | Yes | No | Yes |
DISCOVERY_CONFIG | No | No | Yes |
ENTITY_NAME | On DomainParticipant only | No | Yes |
EVENT | No | No | Yes |
LOCATORFILTER | No | No | Yes |
LOGGING | No | No | Yes |
MULTICHANNEL | No | No | Yes |
PROPERTY | No | No | Yes |
PUBLISH_MODE | No | No | Yes |
RECEIVER_POOL | No | No | Yes |
SERVICE | No | No | Yes |
TYPE_CONSISTENCY_ENFORCEMENT | No | Yes | Yes |
TYPESUPPORT | Yes | No | Yes |
WIRE_PROTOCOL | Yes | No | Yes |
The table lists supported APIs
Name | Supported | DDS standard | Connext Core |
---|---|---|---|
Entity | |||
get_statuscondition() | Yes | Yes | Yes |
get_status_changes() | Yes | Yes | Yes |
enable() | Yes | Yes | Yes |
get_instance_handle() | Yes | Yes | Yes |
WaitSet | |||
attach_condition() | Yes | Yes | Yes |
detach_condition() | Yes | Yes | Yes |
wait() | Yes | Yes | Yes |
get_conditions() | Yes | Yes | Yes |
Condition | |||
get_trigger_value() | Yes | Yes | Yes |
GuardCondition | |||
set_trigger_value() | Yes | Yes | Yes |
StatusCondition | |||
set_enabled_statuses() | Yes | Yes | Yes |
get_enabled_statuses() | Yes | Yes | Yes |
get_entity() | Yes | Yes | Yes |
DomainParticipant | |||
set_qos() | Yes | Yes | Yes |
get_qos() | Yes | Yes | Yes |
set_listener() | Yes | Yes | Yes |
get_listener() | Yes | Yes | Yes |
create_publisher() | Yes | Yes | Yes |
delete_publisher() | Yes | Yes | Yes |
create_subscriber() | Yes | Yes | Yes |
delete_subscriber() | Yes | Yes | Yes |
create_topic() | Yes | Yes | Yes |
delete_topic() | Yes | Yes | Yes |
create_contentfilteredtopic() | No | Yes | Yes |
delete_contentfilteredtopic() | No | Yes | Yes |
create_multitopic() | No | Yes | No |
delete_multitopic() | No | Yes | No |
find_topic() | No | Yes | Yes |
lookup_topicdescription() | Yes | Yes | Yes |
get_builtin_subscriber() | No | Yes | Yes |
ignore_participant() | No | Yes | Yes |
ignore_topic() | No | Yes | Yes |
ignore_publication() | No | Yes | Yes |
ignore_subscription() | No | Yes | Yes |
get_domain_id() | Yes | Yes | Yes |
delete_contained_entities() | Yes | Yes | Yes |
assert_liveliness() | Yes | Yes | Yes |
set_default_publisher_qos() | Yes | Yes | Yes |
get_default_publisher_qos() | Yes | Yes | Yes |
set_default_subscriber_qos() | Yes | Yes | Yes |
get_default_subscriber_qos() | Yes | Yes | Yes |
set_default_topic_qos() | Yes | Yes | Yes |
get_default_topic_qos() | Yes | Yes | Yes |
get_discovered_participants() | No | Yes | Yes |
get_discovered_participant_data() | No | Yes | Yes |
get_discovered_topics() | No | Yes | Yes |
get_discovered_topic_data() | No | Yes | Yes |
contains_entity() | No | No | Yes |
get_current_time() | Yes | Yes | Yes |
DomainParticipantFactory | |||
create_participant() | Yes | Yes | Yes |
delete_participant() | Yes | Yes | Yes |
lookup_participant() | Yes | Yes | Yes |
get_instance() | Yes | Yes | Yes |
set_default_participant_qos() | Yes | Yes | Yes |
get_default_participant_qos() | Yes | Yes | Yes |
set_qos() | Yes | Yes | Yes |
get_qos() | Yes | Yes | Yes |
*Listener | |||
on_inconsistent_topic() | Yes | Yes | Yes |
on_liveliness_lost() | Yes | Yes | Yes |
on_offered_deadline_missed() | Yes | Yes | Yes |
on_offered_incompatible_qos() | Yes | Yes | Yes |
on_data_on_readers() | Yes | Yes | Yes |
on_sample_lost() | Yes | Yes | Yes |
on_data_available() | Yes | Yes | Yes |
on_sample_rejected() | Yes | Yes | Yes |
on_liveliness_changed() | Yes | Yes | Yes |
on_requested_deadline_missed() | Yes | Yes | Yes |
on_requested_incompatible_qos() | Yes | Yes | Yes |
on_publication_matched() | Yes | Yes | Yes |
on_subscription_matched() | Yes | Yes | Yes |
TopicDescription | |||
type_name | Yes | Yes | Yes |
get_participant() | Yes | Yes | Yes |
get_type_name() | Yes | Yes | Yes |
get_name() | Yes | Yes | Yes |
Topic | |||
get_qos() | Yes | Yes | Yes |
set_qos() | Yes | Yes | Yes |
get_listener() | Yes | Yes | Yes |
set_listener() | Yes | Yes | Yes |
get_inconsistent_topic_status() | Yes | Yes | Yes |
ContentFilteredTopic | |||
get_filter_expression() | No | Yes | Yes |
get_related_topic() | No | Yes | Yes |
get_expression_parameters() | No | Yes | Yes |
set_expression_parameters() | No | Yes | Yes |
MultiTopic | |||
subscription_expression() | No | Yes | No |
get_expression_parameters() | No | Yes | No |
set_expression_parameters() | No | Yes | No |
TypeSupport | |||
register_type() | Yes | Yes | Yes |
unregister_type() | Yes | Yes | Yes |
get_type_name() | Yes | Yes | Yes |
Publisher | |||
set_qos() | Yes | Yes | Yes |
get_qos() | Yes | Yes | Yes |
set_listener() | Yes | Yes | Yes |
get_listener() | Yes | Yes | Yes |
create_datawriter() | Yes | Yes | Yes |
delete_datawriter() | Yes | Yes | Yes |
lookup_datawriter() | Yes | Yes | Yes |
suspend_publications() | No | Yes | No |
resume_publications() | No | Yes | No |
begin_coherent_changes() | No | Yes | Yes |
end_coherent_changes() | No | Yes | Yes |
wait_for_acknowledgements() | No | Yes | Yes |
get_participant() | Yes | Yes | Yes |
delete_contained_entities() | Yes | Yes | Yes |
set_default_datawriter_qos() | Yes | Yes | Yes |
get_default_datawriter_qos() | Yes | Yes | Yes |
copy_from_topic_qos() | No | Yes | Yes |
DataWriter and FooDataWriter | |||
set_qos() | Yes | Yes | Yes |
get_qos() | Yes | Yes | Yes |
set_listener() Yes | Yes | Yes | Yes |
get_listener() | Yes | Yes | Yes |
register_instance() Yes | Yes | Yes | Yes |
regsiter_instance_w_timestamp() | Yes | Yes | Yes |
unregister_instance() Yes | Yes | Yes | Yes |
unregsiter_instance_w_timestamp() | Yes | Yes | Yes |
get_key_value() | No | Yes | Yes |
lookup_instance() | No | Yes | Yes |
write() | Yes | Yes | Yes |
write_w_timestamp() | Yes | Yes | Yes |
dispose() | Yes | Yes | Yes |
dispose_w_timestamp() | Yes | Yes | Yes |
wait_for_acknowledgements() | No | Yes | Yes |
get_liveliness_lost_status() | Yes | Yes | Yes |
get_offered_deadline_missed_status() | Yes | Yes | Yes |
get_offered_incompatible_qos_status() | Yes | Yes | Yes |
get_publication_matched_status() | Yes | Yes | Yes |
get_topic() | Yes | Yes | Yes |
get_publisher() | Yes | Yes | Yes |
assert_liveliness() | Yes | Yes | Yes |
get_matched_subscription_data() | No | Yes | Yes |
get_matched_subscription_data() | No | Yes | Yes |
Subscriber | Yes | Yes | Yes |
set_qos() | Yes | Yes | Yes |
get_qos() | Yes | Yes | Yes |
set_listener() | Yes | Yes | Yes |
get_listener() | Yes | Yes | Yes |
create_datareader() | Yes | Yes | Yes |
delete_datareader() | Yes | Yes | Yes |
lookup_datareader() | Yes | Yes | Yes |
begin_access() | No | Yes | Yes |
end_access() | No | Yes | Yes |
get_datareaders() | No | Yes | Yes |
notify_datareaders() | No | Yes | Yes |
delete_contained_entities() | Yes | Yes | Yes |
set_default_datareader_qos() | Yes | Yes | Yes |
get_default_datareader_qos() | Yes | Yes | Yes |
copy_from_topic_qos() | Yes | Yes | Yes |
DataReader and FooDataReader | |||
set_qos() | Yes | Yes | Yes |
get_qos() | Yes | Yes | Yes |
set_listener() | Yes | Yes | Yes |
get_listener() | Yes | Yes | Yes |
read() | Yes | Yes | Yes |
take() | Yes | Yes | Yes |
read_w_condition() | No | Yes | Yes |
take_w_condition() | No | Yes | Yes |
read_next_sample() | Yes | Yes | Yes |
take_next_sampe() | Yes | Yes | Yes |
read_instance() | Yes | Yes | Yes |
take_instance() | Yes | Yes | Yes |
read_next_instance() | No | Yes | Yes |
take_next_instance() | No | Yes | Yes |
read_next_instance_w_condition() | No | Yes | Yes |
take_next_instance_w_condition() | No | Yes | Yes |
return_loan() | Yes | Yes | Yes |
get_key_value() | No | Yes | Yes |
lookup_instance() | Yes | Yes | Yes |
create_readcondition() | No | Yes | Yes |
create_querycondition() | No | Yes | Yes |
delete_readcondition() | No | Yes | Yes |
get_liveliness_changed_status() | Yes | Yes | Yes |
get_requested_deadline_missed_status() | Yes | Yes | Yes |
get_requested_incompatible_qos_status() | Yes | Yes | Yes |
get_sample_lost_status() | Yes | Yes | Yes |
get_sample_rejected_status() | Yes | Yes | Yes |
get_subscription_matched_status() | Yes | Yes | Yes |
get_topicdescription() | Yes | Yes | Yes |
delete_contained_entities() | Yes | Yes | Yes |
wait_for_historical_data() | No | Yes | Yes |
get_macthed_publication_data() | No | Yes | Yes |
get_matched_publications() | No | Yes | Yes |
SampleInfo | |||
sample_state | Yes | Yes | Yes |
view_state | Yes | Yes | Yes |
instance_state | Yes | Yes | Yes |
disposed_generation_count | No | Yes | Yes |
no_writers_generation_count | No | Yes | Yes |
sample_rank | No | Yes | Yes |
generation_rank | No | Yes | Yes |
absolute_generation_rank | No | Yes | Yes |
source_timestamp | Yes | Yes | Yes |
instance_handle | Yes | Yes | Yes |
publication_handle | Yes | Yes | Yes |
valid_data | Yes | Yes | Yes |
ReadCondition | |||
get_datareader() | No | Yes | Yes |
get_sample_state_mask() | No | Yes | Yes |
get_view_state_mask() | No | Yes | Yes |
get_instance_state_mask() | No | Yes | Yes |
QueryCondition | |||
get_query_expression() | No | Yes | Yes |
get_query_parameters() | No | Yes | Yes |
set_query_parameters() | No | Yes | Yes |