CoreDX DDS Modern C++ API
|
CoreDX DDS is a small-footprint, high-performance communications middleware compliant with the OMG Data Distribution Service (DDS) standard. CoreDX DDS supports multiple hardware architectures and operating systems, and is intended to facilitate the development of robust, near real-time, highly distributed systems.
This is the CoreDX DDS Modern C++ Reference Manual. It provides a detailed reference for the CoreDX Data Distribution Service (DDS) Modern C++ API implementation from Twin Oaks Computing, Inc. The implementation is compliant with the OMG Standard ISO/IEC C++ 2003 Language DDS PSM Version 1.0 (available at http://www.omg.org).
The CoreDX DDS software provides a high-throughput, standards compliant, data communications infrastructure. CoreDX DDS offers the tools you need to realize Open Architecture goals. Built with a focus on performance, the CoreDX DDS software delivers a quality implementation of the OMG Data Distribution Service (DDS) standard.
The CoreDX DDS software implements the essential Data-Centric Publish-Subscribe (DCPS) communications layer as documented in the OMG DDS Standard. This standalone package provides everything needed to integrate QoS enabled, Publish-Subscribe messaging into an application. The core software is written in the C language, and is optimized to be small and fast. This reference manual describes the CoreDX DDS "Modern C++" language binding.
The CoreDX DDS Modern C++ API Cookbook provides helpful recepies for constructing and using DDS entities.
Below is a table-based index of the primary constructs that make up the CoreDX DDS Modern C++ API.
This includes the primary objects with which an application must interact to enable DDS publish-subscribe communications.
Entity | Link |
---|---|
DomainParticipant | dds::domain::DomainParticipant |
Publisher | dds::pub::Publisher |
Subscriber | dds::sub::Subscriber |
Topic | dds::topic::Topic |
ContentFilteredTopic | dds::topic::ContentFilteredTopic |
DataWriter | dds::pub::DataWriter |
DataReader | dds::sub::DataReader |
These elements are used in configuring the Quality of Service of the various DDS entities.
QoS Collection | Link |
---|---|
DomainParticipantQos | org::toc::coredx::domain::qos::DomainParticipantQos |
PublisherQos | org::toc::coredx::pub::qos::PublisherQos |
SubscriberQos | org::toc::coredx::sub::qos::SubscriberQos |
TopicQos | org::toc::coredx::topic::qos::TopicQos |
DataWriterQos | org::toc::coredx::pub::qos::DataWriterQos |
DataReaderQos | org::toc::coredx::sub::qos::DataReaderQos |
This section covers the various structures and concepts involved in delivering events to the application.
Listener | Link |
---|---|
DomainParticipantListener | dds::domain::DomainParticipantListener |
TopicListener | dds::topic::TopicListener |
PublisherListener | dds::pub::PublisherListener |
DataWriterListener | dds::pub::DataWriterListener |
SubscriberListener | dds::sub::SubscriberListener |
DataReaderListener | dds::sub::DataReaderListener |
This section describes the types of status maintained by the infrastructure.
Status | Link |
---|---|
InconsistentTopicStatus | org::toc::coredx::core::InconsistentTopicStatusImpl |
LivelinessChangedStatus | org::toc::coredx::core::LivelinessChangedStatusImpl |
LivelinessLostStatus | org::toc::coredx::core::LivelinessLostStatusImpl |
OfferedDeadlineMissedStatus | org::toc::coredx::core::OfferedDeadlineMissedStatusImpl |
OfferedIncompatibleQosStatus | org::toc::coredx::core::OfferedIncompatibleQosStatusImpl |
PublicationMatchedStatus | org::toc::coredx::core::PublicationMatchedStatusImpl |
SampleRejectedStatus | org::toc::coredx::core::SampleRejectedStatusImpl |
RequestedDeadlineMissedStatus | org::toc::coredx::core::RequestedDeadlineMissedStatusImpl |
RequestedIncompatibleQosStatus | org::toc::coredx::core::RequestedIncompatibleQosStatusImpl |
SampleLostStatus | org::toc::coredx::core::SampleLostStatusImpl |
SubscriptionMatchedStatus | org::toc::coredx::core::SubscriptionMatchedStatusImpl |
This includes routines and objects to support dynamic data types.
Dynamic Type / Data | Link |
---|---|
DynamicType | dds::core::xtypes::DynamicType |
DynamicData | dds::core::xtypes::DynamicData |
StructType | dds::core::xtypes::StructType |
MemberType | dds::core::xtypes::MemberType |
UnionType | dds::core::xtypes::UnionType |
UnionMember | dds::core::xtypes::UnionMember |
EnumType | dds::core::xtypes::EnumType |
MapType | dds::core::xtypes::MapType |
SequenceType | dds::core::xtypes::SequenceType |
StringType | dds::core::xtypes::StringType |
ArrayType | dds::core::xtypes::ArrayType |
Also, a list of API items which are not yet supported by CoreDX DDS are provided here.
This document is intended for software developers who are integrating the CoreDX DDS software into their application(s). The reference manual assumes that the reader is competent in programming languages and software development concepts. CoreDX DDS supports multiple languages, and this reference manual focuses on the C++11 programming language.