Merge branch 'master' into merge6
Signed-off-by: Martin Bremmer <martin.bremmer@adlinktech.com>
This commit is contained in:
commit
660d495746
124 changed files with 5049 additions and 1672 deletions
|
@ -46,99 +46,7 @@ used for building your own applications.
|
|||
|
||||
|
||||
Build Files
|
||||
===========
|
||||
|
||||
Three files are available *Hello World!* root directory to support
|
||||
building the example. Both
|
||||
:ref:`Windows native <WindowsNativeBuild>` (HelloWorld.sln) and
|
||||
:ref:`Linux native <LinuxNativeBuild>` (Makefile) build files
|
||||
will only be available for this *Hello World!* example. All the
|
||||
other examples make use of the :ref:`CMake <CMakeIntro>` build
|
||||
system and thus only have the CMakeLists.txt build related file.
|
||||
|
||||
.. _`LinuxNativeBuild`:
|
||||
|
||||
Linux Native Build
|
||||
==================
|
||||
|
||||
A Linux native :code:`Makefile` is provided in the
|
||||
:code:`examples/helloworld` directory within the destination location
|
||||
entered in the
|
||||
:ref:`vdds_install_examples script <CopyLinuxExamplesToUserFriendlyLocation>`.
|
||||
In a terminal, go to that directory and type
|
||||
::
|
||||
|
||||
make
|
||||
|
||||
The build process should have access to the include files and
|
||||
the ddsc library. The Makefile expects them to be present at
|
||||
system default locations so that it can find them automatically.
|
||||
If this isn't the case on your machine, then please
|
||||
update the commented out :code:`CFLAGS` and :code:`LDFLAGS` within the
|
||||
:code:`Makefile` to point to the proper locations.
|
||||
|
||||
This will build the HelloworldSubscriber and HelloworldPublisher
|
||||
executables in the helloworld source directory (not the bin
|
||||
directory that contains the pre-build binaries).
|
||||
|
||||
The *Hello World!* example can now be executed,
|
||||
like described in :ref:`Test your installation <TestYourInstallation>`,
|
||||
using the binaries that were just build. Be sure to use the right directories.
|
||||
|
||||
|
||||
.. _`WindowsNativeBuild`:
|
||||
|
||||
Windows Native Build
|
||||
====================
|
||||
|
||||
For the Windows Native Build, a Visual Studio solution file is
|
||||
available in the :code:`examples/helloworld` directory. Use a
|
||||
file explorer to navigate to that directory and double click on
|
||||
the :code:`HelloWorld.sln` file. Visual Studio should now start
|
||||
with the HelloWorld solution that contains three projects.
|
||||
|
||||
+----------------------+-------------------------------------------------+
|
||||
| Project | Description |
|
||||
+======================+=================================================+
|
||||
| HelloWorldPublisher | Information to build the example publisher. |
|
||||
+----------------------+-------------------------------------------------+
|
||||
| HelloWorldSubscriber | Information to build the example subcriber. |
|
||||
+----------------------+-------------------------------------------------+
|
||||
| HelloWorldType | Information to (re)generate |
|
||||
| | :ref:`HelloWorldData_Msg <HelloWorldDataFiles>` |
|
||||
| | data type. |
|
||||
+----------------------+-------------------------------------------------+
|
||||
|
||||
Creating the *Hello World!* example executables is as simple as
|
||||
selecting the required configuration and building the solution.
|
||||
|
||||
:code:`helloworld\vs\directories.props` contains the location of where
|
||||
the Eclipse Cyclone DDS header files and libraries are be placed. These locations
|
||||
are based on the default installation directory structure. When Eclipse Cyclone DDS
|
||||
is installed in a different directory, the following paths in
|
||||
:code:`helloworld\vs\directories.props` should be changed, like:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<CycloneDDS_lib_dir>C:/Path/To/CycloneDDS/Installation/lib</CycloneDDS_lib_dir>
|
||||
<CycloneDDS_inc_dir>C:/Path/To/CycloneDDS/Installation/include</CycloneDDS_inc_dir>
|
||||
<CycloneDDS_idlc_dir>C:/Path/To/CycloneDDS/Installation/share/CycloneDDS/idlc</CycloneDDS_idlc_dir>
|
||||
|
||||
To run the example, Visual Studio should run both the publisher
|
||||
and subscriber simultaneously. It is capable of doing so, but
|
||||
it's not its default setting. To change it, open the HelloWorld
|
||||
solution property page by right clicking the solution and
|
||||
selecting :code:`Properties`. Then go to :code:`Common Properties`
|
||||
-> :code:`Startup Project`, select :code:`Multiple startup project`
|
||||
and set :code:`Action "Start"` for HelloWorldPublisher and
|
||||
HelloWorldSubscriber. Finish the change by selecting :code:`OK`.
|
||||
|
||||
Visual Studio is now ready to actually run the *Hello World!*
|
||||
example, which can be done by selecting :code:`Debug` ->
|
||||
:code:`Start without debugging`.
|
||||
Both the HelloworldSubscriber and the HelloworldPublisher will be
|
||||
started and the HelloworldPublisher will write a message that is
|
||||
received by the HelloworldSubscriber.
|
||||
|
||||
.. _`BuildingWithCMake`:
|
||||
|
||||
|
@ -146,11 +54,6 @@ received by the HelloworldSubscriber.
|
|||
Building With CMake
|
||||
*******************
|
||||
|
||||
In the earlier chapters, building the *Hello World!* example is done
|
||||
natively. However, the *Hello World!* example can also be build using the
|
||||
`CMake tool <http://cmake.org>`_. This is what is recommended. In fact,
|
||||
all the other examples don't provide native makefiles, only CMake files.
|
||||
|
||||
|
||||
.. _`CMakeIntro`:
|
||||
|
||||
|
@ -190,10 +93,8 @@ scope of this document.
|
|||
Hello World! CMake (CycloneDDS Package)
|
||||
=======================================
|
||||
|
||||
After the CMake digression, we're back with the *Hello World!*
|
||||
example. Apart from the native build files, CMake build files
|
||||
are provided as well. See
|
||||
:code:`examples/helloworld/CMakeLists.txt`
|
||||
Specifying how to build the *Hello World!* example requires only a few
|
||||
lines of configuration in :code:`examples/helloworld/CMakeLists.txt`
|
||||
|
||||
.. literalinclude:: ../../../examples/helloworld/CMakeLists.export
|
||||
:linenos:
|
||||
|
@ -206,13 +107,12 @@ look in the default locations for the code:`CycloneDDS` package.
|
|||
|
||||
.. _`IdlcGenerate`:
|
||||
|
||||
The :code:`CycloneDDS` package provides the :code:`ddsc` library
|
||||
that contains the DDS API that the application needs. But apart
|
||||
from that, it also contains helper functionality
|
||||
(:code:`idlc_generate`) to generate library targets from IDL
|
||||
files. These library targets can be easily used when compiling
|
||||
an application that depends on a data type described
|
||||
in an IDL file.
|
||||
The :code:`CycloneDDS` package provides the :code:`ddsc` library that
|
||||
contains the DDS API that the application needs. It also provides a
|
||||
component "idlc" that provides helper functionality for generating
|
||||
library targets from IDL files (:code:`idlc_generate`). These library
|
||||
targets can be easily used when compiling an application that depends on
|
||||
a data type described in an IDL file.
|
||||
|
||||
Two applications will be created, :code:`HelloworldPublisher`
|
||||
and :code:`HelloworldSubscriber`. Both consist only out of one
|
||||
|
@ -241,7 +141,7 @@ Here, we can let CMake configure the build environment for
|
|||
us by typing:
|
||||
::
|
||||
|
||||
cmake ../
|
||||
cmake ..
|
||||
|
||||
.. note::
|
||||
CMake does a pretty good job at guessing which generator to use, but some
|
||||
|
|
|
@ -1110,21 +1110,3 @@ an endless loop.
|
|||
There is furthermore also a difference of interpretation of the meaning of the
|
||||
‘autodispose_unregistered_instances’ QoS on the writer. Eclipse Cyclone DDS aligns with
|
||||
OpenSplice.
|
||||
|
||||
|
||||
.. _`Compatibility issues with TwinOaks`:
|
||||
|
||||
Compatibility issues with TwinOaks
|
||||
----------------------------------
|
||||
|
||||
In the default configuration there should be no interoperability issues with TwinOaks CoreDX,
|
||||
although there is the aforementioned difference in interpretation of the meaning of the
|
||||
‘autodispose_unregistered_instances’ QoS on the writer.
|
||||
|
||||
Interoperability with very old versions of CoreDX may require setting:
|
||||
|
||||
+ ``Compatibility/ManySocketsMode``: *true*
|
||||
+ ``Compatibility/ExplicitlyPublishQosSetToDefault``: *true*
|
||||
|
||||
The exact version number of CoreDX starting with which these settings are no longer needed is
|
||||
unknown, but it has certainly not been needed for several years.
|
||||
|
|
|
@ -8,7 +8,7 @@ CycloneDDS configuration
|
|||
## //CycloneDDS/Domain
|
||||
Attributes: [Id](#cycloneddsdomainid)
|
||||
|
||||
Children: [Compatibility](#cycloneddsdomaincompatibility), [Discovery](#cycloneddsdomaindiscovery), [General](#cycloneddsdomaingeneral), [Internal](#cycloneddsdomaininternal), [Partitioning](#cycloneddsdomainpartitioning), [SSL](#cycloneddsdomainssl), [Sizing](#cycloneddsdomainsizing), [TCP](#cycloneddsdomaintcp), [ThreadPool](#cycloneddsdomainthreadpool), [Threads](#cycloneddsdomainthreads), [Tracing](#cycloneddsdomaintracing)
|
||||
Children: [Compatibility](#cycloneddsdomaincompatibility), [DDSSecurity](#cycloneddsdomainddssecurity), [Discovery](#cycloneddsdomaindiscovery), [General](#cycloneddsdomaingeneral), [Internal](#cycloneddsdomaininternal), [Partitioning](#cycloneddsdomainpartitioning), [SSL](#cycloneddsdomainssl), [Sizing](#cycloneddsdomainsizing), [TCP](#cycloneddsdomaintcp), [ThreadPool](#cycloneddsdomainthreadpool), [Threads](#cycloneddsdomainthreads), [Tracing](#cycloneddsdomaintracing)
|
||||
|
||||
|
||||
The General element specifying Domain related settings.
|
||||
|
@ -100,8 +100,354 @@ The default setting is "lax".
|
|||
The default value is: "lax".
|
||||
|
||||
|
||||
### //CycloneDDS/Domain/DDSSecurity
|
||||
Children: [AccessControl](#cycloneddsdomainddssecurityaccesscontrol), [Authentication](#cycloneddsdomainddssecurityauthentication), [Cryptographic](#cycloneddsdomainddssecuritycryptographic)
|
||||
|
||||
|
||||
This element is used to configure Cyclone DDS with the DDS Security
|
||||
specification plugins and settings.
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/DDSSecurity/AccessControl
|
||||
Children: [Governance](#cycloneddsdomainddssecurityaccesscontrolgovernance), [Library](#cycloneddsdomainddssecurityaccesscontrollibrary), [Permissions](#cycloneddsdomainddssecurityaccesscontrolpermissions), [PermissionsCA](#cycloneddsdomainddssecurityaccesscontrolpermissionsca)
|
||||
|
||||
|
||||
This element configures the Access Control plugin of the DDS Security
|
||||
specification.
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/AccessControl/Governance
|
||||
|
||||
RELOFF (cfg.access_control_properties.governance), pf_string, BLURB("
|
||||
|
||||
URI to the shared Governance Document signed by the Permissions CA in
|
||||
S/MIME format
|
||||
|
||||
URI schemes: file, data<br>
|
||||
|
||||
Examples file URIs:
|
||||
|
||||
<Governance>file:governance.smime</Governance>
|
||||
|
||||
<Governance>file:/home/myuser/governance.smime</Governance><br>
|
||||
|
||||
<Governance><![CDATA[data:,MIME-Version: 1.0
|
||||
|
||||
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
|
||||
micalg="sha-256"; boundary="----F9A8A198D6F08E1285A292ADF14DD04F"
|
||||
|
||||
This is an S/MIME signed message
|
||||
|
||||
------F9A8A198D6F08E1285A292ADF14DD04F
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
|
||||
xsi:noNamespaceSchemaLocation="omg_shared_ca_governance.xsd">
|
||||
|
||||
<domain_access_rules>
|
||||
|
||||
. . .
|
||||
|
||||
</domain_access_rules>
|
||||
|
||||
</dds>
|
||||
|
||||
...
|
||||
|
||||
------F9A8A198D6F08E1285A292ADF14DD04F
|
||||
|
||||
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
|
||||
|
||||
Content-Transfer-Encoding: base64
|
||||
|
||||
Content-Disposition: attachment; filename="smime.p7s"
|
||||
|
||||
MIIDuAYJKoZIhv ...al5s=
|
||||
|
||||
------F9A8A198D6F08E1285A292ADF14DD04F-]]</Governance>
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/AccessControl/Library
|
||||
Children: [finalizeFunction](#cycloneddsdomainddssecurityaccesscontrollibraryfinalizefunction), [initFunction](#cycloneddsdomainddssecurityaccesscontrollibraryinitfunction), [path](#cycloneddsdomainddssecurityaccesscontrollibrarypath)
|
||||
|
||||
|
||||
RELOFF (cfg.access_control_plugin), pf_string, BLURB("
|
||||
|
||||
This element specifies the library to be loaded as the DDS Security
|
||||
Access Control plugin.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/AccessControl/Library/finalizeFunction
|
||||
|
||||
RELOFF (cfg.access_control_plugin.library_finalize), pf_string, BLURB("
|
||||
|
||||
This element names the finalization function of Access Control plugin.
|
||||
This function is called to let the plugin release its resources.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/AccessControl/Library/initFunction
|
||||
|
||||
RELOFF (cfg.access_control_plugin.library_init), pf_string, BLURB("
|
||||
|
||||
This element names the initialization function of Access Control plugin.
|
||||
This function is called after loading the plugin library for
|
||||
instantiation purposes. Init function must return an object that
|
||||
implements DDS Security Access Control interface.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/AccessControl/Library/path
|
||||
|
||||
RELOFF (cfg.access_control_plugin.library_path), pf_string, BLURB("
|
||||
|
||||
This element points to the path of Access Control plugin library.
|
||||
|
||||
It can be either absolute path excluding file extension (
|
||||
/usr/lib/dds_security_ac ) or single file without extension (
|
||||
dds_security_ac ).
|
||||
|
||||
If single file is supplied, the library located by way of the current
|
||||
working directory, or LD_LIBRARY_PATH for Unix systems, and PATH for
|
||||
Windows systems.
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/AccessControl/Permissions
|
||||
|
||||
RELOFF (cfg.access_control_properties.permissions), pf_string, BLURB("
|
||||
|
||||
URI to the DomainParticipant permissions document signed by the
|
||||
Permissions CA in S/MIME format
|
||||
|
||||
The permissions document specifies the permissions to be applied to a
|
||||
domain.<br>
|
||||
|
||||
Example file URIs:
|
||||
|
||||
<Permissions>file:permissions_document.p7s</Permissions>
|
||||
|
||||
<Permissions>file:/path_to/permissions_document.p7s</Permissions>
|
||||
|
||||
Example data URI:
|
||||
|
||||
<Permissions><![CDATA[data:,.........]]</Permissions>
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/AccessControl/PermissionsCA
|
||||
|
||||
RELOFF (cfg.access_control_properties.permissions_ca), pf_string, BLURB("
|
||||
|
||||
URI to a X509 certificate for the PermissionsCA in PEM format.
|
||||
|
||||
Supported URI schemes: file, data
|
||||
|
||||
The file and data schemas shall refer to a X.509 v3 certificate (see
|
||||
X.509 v3 ITU-T Recommendation X.509 (2005) [39]) in PEM format.<br>
|
||||
|
||||
Examples:<br>
|
||||
|
||||
<PermissionsCA>file:permissions_ca.pem</PermissionsCA>
|
||||
|
||||
<PermissionsCA>file:/home/myuser/permissions_ca.pem</PermissionsCA><br>
|
||||
|
||||
<PermissionsCA>data:<strong>,</strong>-----BEGIN CERTIFICATE-----
|
||||
|
||||
MIIC3DCCAcQCCQCWE5x+Z ... PhovK0mp2ohhRLYI0ZiyYQ==
|
||||
|
||||
-----END CERTIFICATE-----</PermissionsCA>
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/DDSSecurity/Authentication
|
||||
Children: [IdentityCA](#cycloneddsdomainddssecurityauthenticationidentityca), [IdentityCertificate](#cycloneddsdomainddssecurityauthenticationidentitycertificate), [Library](#cycloneddsdomainddssecurityauthenticationlibrary), [Password](#cycloneddsdomainddssecurityauthenticationpassword), [PrivateKey](#cycloneddsdomainddssecurityauthenticationprivatekey), [TrustedCADirectory](#cycloneddsdomainddssecurityauthenticationtrustedcadirectory)
|
||||
|
||||
|
||||
This element configures the Authentication plugin of the DDS Security
|
||||
specification.
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/Authentication/IdentityCA
|
||||
|
||||
RELOFF (cfg.authentication_properties.identity_ca), pf_string, BLURB("
|
||||
|
||||
URI to the X509 certificate [39] of the Identity CA that is the signer of
|
||||
Identity Certificate.
|
||||
|
||||
Supported URI schemes: file, data
|
||||
|
||||
The file and data schemas shall refer to a X.509 v3 certificate (see
|
||||
X.509 v3 ITU-T Recommendation X.509 (2005) [39]) in PEM format.
|
||||
|
||||
Examples:
|
||||
|
||||
<IdentityCA>file:identity_ca.pem</IdentityCA>
|
||||
|
||||
<IdentityCA>data:,-----BEGIN CERTIFICATE-----<br>
|
||||
|
||||
MIIC3DCCAcQCCQCWE5x+Z...PhovK0mp2ohhRLYI0ZiyYQ==<br>
|
||||
|
||||
-----END CERTIFICATE-----</IdentityCA>
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/Authentication/IdentityCertificate
|
||||
|
||||
RELOFF (cfg.authentication_properties.identity_certificate), pf_string,
|
||||
BLURB("
|
||||
|
||||
Identity certificate that will be used for identifying all participants
|
||||
in the OSPL instance.<br>The content is URI to a X509 certificate signed
|
||||
by the IdentityCA in PEM format containing the signed public key.
|
||||
|
||||
Supported URI schemes: file, data
|
||||
|
||||
Examples:
|
||||
|
||||
<IdentityCertificate>file:participant1_identity_cert.pem</IdentityCertificate>
|
||||
|
||||
<IdentityCertificate>data:,-----BEGIN CERTIFICATE-----<br>
|
||||
|
||||
MIIDjjCCAnYCCQDCEu9...6rmT87dhTo=<br>
|
||||
|
||||
-----END CERTIFICATE-----</IdentityCertificate>
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/Authentication/Library
|
||||
Children: [finalizeFunction](#cycloneddsdomainddssecurityauthenticationlibraryfinalizefunction), [initFunction](#cycloneddsdomainddssecurityauthenticationlibraryinitfunction), [path](#cycloneddsdomainddssecurityauthenticationlibrarypath)
|
||||
|
||||
|
||||
RELOFF (cfg.authentication_plugin), pf_string, BLURB("
|
||||
|
||||
This element specifies the library to be loaded as the DDS Security
|
||||
Access Control plugin.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/Authentication/Library/finalizeFunction
|
||||
|
||||
RELOFF (cfg.authentication_plugin.library_finalize), pf_string, BLURB("
|
||||
|
||||
This element names the finalization function of Authentication plugin.
|
||||
This function is called to let the plugin release its resources.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/Authentication/Library/initFunction
|
||||
|
||||
RELOFF (cfg.authentication_plugin.library_init), pf_string, BLURB("
|
||||
|
||||
This element names the initialization function of Authentication plugin.
|
||||
This function is called after loading the plugin library for
|
||||
instantiation purposes. Init function must return an object that
|
||||
implements DDS Security Authentication interface.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/Authentication/Library/path
|
||||
|
||||
RELOFF (cfg.authentication_plugin.library_path), pf_string, BLURB("
|
||||
|
||||
This element points to the path of Authentication plugin library.
|
||||
|
||||
It can be either absolute path excluding file extension (
|
||||
/usr/lib/dds_security_auth ) or single file without extension (
|
||||
dds_security_auth ).
|
||||
|
||||
If single file is supplied, the library located by way of the current
|
||||
working directory, or LD_LIBRARY_PATH for Unix systems, and PATH for
|
||||
Windows systems.
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/Authentication/Password
|
||||
|
||||
RELOFF (cfg.authentication_properties.password), pf_string, BLURB("
|
||||
|
||||
A password used to decrypt the private_key.
|
||||
|
||||
The value of the password property shall be interpreted as the Base64
|
||||
encoding of the AES-128 key that shall be used to decrypt the private_key
|
||||
using AES128-CBC.
|
||||
|
||||
If the password property is not present, then the value supplied in the
|
||||
private_key property must contain the unencrypted private key.
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/Authentication/PrivateKey
|
||||
|
||||
RELOFF (cfg.authentication_properties.private_key), pf_string, BLURB("
|
||||
|
||||
URI to access the private Private Key for all of the participants in the
|
||||
OSPL federation.
|
||||
|
||||
Supported URI schemes: file, data
|
||||
|
||||
Examples:
|
||||
|
||||
<PrivateKey>file:identity_ca_private_key.pem</PrivateKey>
|
||||
|
||||
<PrivateKey>data:,-----BEGIN RSA PRIVATE KEY-----<br>
|
||||
|
||||
MIIEpAIBAAKCAQEA3HIh...AOBaaqSV37XBUJg==<br>
|
||||
|
||||
-----END RSA PRIVATE KEY-----</PrivateKey>
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/Authentication/TrustedCADirectory
|
||||
|
||||
RELOFF (cfg.authentication_properties.trusted_ca_dir), pf_string, BLURB("
|
||||
|
||||
Trusted CA Directory which contains trusted CA certificates as separated
|
||||
files.
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/DDSSecurity/Cryptographic
|
||||
Children: [Library](#cycloneddsdomainddssecuritycryptographiclibrary)
|
||||
|
||||
|
||||
This element configures the Cryptographic plugin of the DDS Security
|
||||
specification.
|
||||
|
||||
|
||||
##### //CycloneDDS/Domain/DDSSecurity/Cryptographic/Library
|
||||
Children: [finalizeFunction](#cycloneddsdomainddssecuritycryptographiclibraryfinalizefunction), [initFunction](#cycloneddsdomainddssecuritycryptographiclibraryinitfunction), [path](#cycloneddsdomainddssecuritycryptographiclibrarypath)
|
||||
|
||||
|
||||
RELOFF (cfg.cryptography_plugin), pf_string, BLURB("
|
||||
|
||||
This element specifies the library to be loaded as the DDS Security
|
||||
Cryptographic plugin.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/Cryptographic/Library/finalizeFunction
|
||||
|
||||
RELOFF (cfg.cryptography_plugin.library_finalize), pf_string, BLURB("
|
||||
|
||||
This element names the finalization function of Cryptographic plugin.
|
||||
This function is called to let the plugin release its resources.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/Cryptographic/Library/initFunction
|
||||
|
||||
RELOFF (cfg.cryptography_plugin.library_init), pf_string, BLURB("
|
||||
|
||||
This element names the initialization function of Cryptographic plugin.
|
||||
This function is called after loading the plugin library for
|
||||
instantiation purposes. Init function must return an object that
|
||||
implements DDS Security Cryptographic interface.
|
||||
|
||||
|
||||
###### //CycloneDDS/Domain/DDSSecurity/Cryptographic/Library/path
|
||||
|
||||
RELOFF (cfg.cryptography_plugin.library_path), pf_string, BLURB("
|
||||
|
||||
This element points to the path of Cryptographic plugin library.
|
||||
|
||||
It can be either absolute path excluding file extension (
|
||||
/usr/lib/dds_security_crypto ) or single file without extension (
|
||||
dds_security_crypto ).
|
||||
|
||||
If single file is supplied, the library located by way of the current
|
||||
working directory, or LD_LIBRARY_PATH for Unix systems, and PATH for
|
||||
Windows systems.
|
||||
|
||||
|
||||
### //CycloneDDS/Domain/Discovery
|
||||
Children: [DSGracePeriod](#cycloneddsdomaindiscoverydsgraceperiod), [DefaultMulticastAddress](#cycloneddsdomaindiscoverydefaultmulticastaddress), [EnableTopicDiscovery](#cycloneddsdomaindiscoveryenabletopicdiscovery), [MaxAutoParticipantIndex](#cycloneddsdomaindiscoverymaxautoparticipantindex), [ParticipantIndex](#cycloneddsdomaindiscoveryparticipantindex), [Peers](#cycloneddsdomaindiscoverypeers), [Ports](#cycloneddsdomaindiscoveryports), [SPDPInterval](#cycloneddsdomaindiscoveryspdpinterval), [SPDPMulticastAddress](#cycloneddsdomaindiscoveryspdpmulticastaddress)
|
||||
Children: [DSGracePeriod](#cycloneddsdomaindiscoverydsgraceperiod), [DefaultMulticastAddress](#cycloneddsdomaindiscoverydefaultmulticastaddress), [EnableTopicDiscovery](#cycloneddsdomaindiscoveryenabletopicdiscovery), [ExternalDomainId](#cycloneddsdomaindiscoveryexternaldomainid), [MaxAutoParticipantIndex](#cycloneddsdomaindiscoverymaxautoparticipantindex), [ParticipantIndex](#cycloneddsdomaindiscoveryparticipantindex), [Peers](#cycloneddsdomaindiscoverypeers), [Ports](#cycloneddsdomaindiscoveryports), [SPDPInterval](#cycloneddsdomaindiscoveryspdpinterval), [SPDPMulticastAddress](#cycloneddsdomaindiscoveryspdpmulticastaddress), [Tag](#cycloneddsdomaindiscoverytag)
|
||||
|
||||
|
||||
The Discovery element allows specifying various parameters related to the
|
||||
|
@ -140,6 +486,17 @@ Do not use.
|
|||
The default value is: "true".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Discovery/ExternalDomainId
|
||||
Text
|
||||
|
||||
An override for the domain id, to be used in discovery and for
|
||||
determining the port number mapping. This allows creating multiple
|
||||
domains in a single process while making them appear as a single domain
|
||||
on the network. The value "default" disables the override.
|
||||
|
||||
The default value is: "default".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Discovery/MaxAutoParticipantIndex
|
||||
Integer
|
||||
|
||||
|
@ -261,7 +618,7 @@ The default value is: "250".
|
|||
##### //CycloneDDS/Domain/Discovery/Ports/MulticastDataOffset
|
||||
Integer
|
||||
|
||||
This element specifies the port number for multicast meta traffic (refer
|
||||
This element specifies the port number for multicast data traffic (refer
|
||||
to the DDSI 2.1 specification, section 9.6.1, constant d2).
|
||||
|
||||
The default value is: "1".
|
||||
|
@ -289,7 +646,7 @@ The default value is: "2".
|
|||
##### //CycloneDDS/Domain/Discovery/Ports/UnicastDataOffset
|
||||
Integer
|
||||
|
||||
This element specifies the port number for unicast meta traffic (refer to
|
||||
This element specifies the port number for unicast data traffic (refer to
|
||||
the DDSI 2.1 specification, section 9.6.1, constant d3).
|
||||
|
||||
The default value is: "11".
|
||||
|
@ -328,6 +685,15 @@ address.
|
|||
The default value is: "239.255.0.1".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Discovery/Tag
|
||||
Text
|
||||
|
||||
String extension for domain id that remote participants must match to be
|
||||
discovered.
|
||||
|
||||
The default value is: "".
|
||||
|
||||
|
||||
### //CycloneDDS/Domain/General
|
||||
Children: [AllowMulticast](#cycloneddsdomaingeneralallowmulticast), [DontRoute](#cycloneddsdomaingeneraldontroute), [EnableMulticastLoopback](#cycloneddsdomaingeneralenablemulticastloopback), [ExternalNetworkAddress](#cycloneddsdomaingeneralexternalnetworkaddress), [ExternalNetworkMask](#cycloneddsdomaingeneralexternalnetworkmask), [FragmentSize](#cycloneddsdomaingeneralfragmentsize), [MaxMessageSize](#cycloneddsdomaingeneralmaxmessagesize), [MulticastRecvNetworkInterfaceAddresses](#cycloneddsdomaingeneralmulticastrecvnetworkinterfaceaddresses), [MulticastTimeToLive](#cycloneddsdomaingeneralmulticasttimetolive), [NetworkInterfaceAddress](#cycloneddsdomaingeneralnetworkinterfaceaddress), [PreferMulticast](#cycloneddsdomaingeneralprefermulticast), [Transport](#cycloneddsdomaingeneraltransport), [UseIPv6](#cycloneddsdomaingeneraluseipv6)
|
||||
|
||||
|
@ -672,6 +1038,8 @@ The default value is: "false".
|
|||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/HeartbeatInterval
|
||||
Attributes: [max](#cycloneddsdomaininternalheartbeatintervalmax), [min](#cycloneddsdomaininternalheartbeatintervalmin), [minsched](#cycloneddsdomaininternalheartbeatintervalminsched)
|
||||
|
||||
Number-with-unit
|
||||
|
||||
This elemnents allows configuring the base interval for sending writer
|
||||
|
@ -683,6 +1051,42 @@ Valid values are finite durations with an explicit unit or the keyword
|
|||
The default value is: "100 ms".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/HeartbeatInterval[@max]
|
||||
Number-with-unit
|
||||
|
||||
This attribute sets the maximum interval for periodic heartbeats.
|
||||
|
||||
Valid values are finite durations with an explicit unit or the keyword
|
||||
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.
|
||||
|
||||
The default value is: "8 s".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/HeartbeatInterval[@min]
|
||||
Number-with-unit
|
||||
|
||||
This attribute sets the minimum interval that must have passed since the
|
||||
most recent heartbeat from a writer, before another asynchronous (not
|
||||
directly related to writing) will be sent.
|
||||
|
||||
Valid values are finite durations with an explicit unit or the keyword
|
||||
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.
|
||||
|
||||
The default value is: "5 ms".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/HeartbeatInterval[@minsched]
|
||||
Number-with-unit
|
||||
|
||||
This attribute sets the minimum interval for periodic heartbeats. Other
|
||||
events may still cause heartbeats to go out.
|
||||
|
||||
Valid values are finite durations with an explicit unit or the keyword
|
||||
'inf' for infinity. Recognised units: ns, us, ms, s, min, hr, day.
|
||||
|
||||
The default value is: "20 ms".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/LateAckMode
|
||||
Boolean
|
||||
|
||||
|
@ -704,6 +1108,8 @@ The default value is: "10 s".
|
|||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/LivelinessMonitoring
|
||||
Attributes: [Interval](#cycloneddsdomaininternallivelinessmonitoringinterval), [StackTraces](#cycloneddsdomaininternallivelinessmonitoringstacktraces)
|
||||
|
||||
Boolean
|
||||
|
||||
This element controls whether or not implementation should internally
|
||||
|
@ -714,6 +1120,28 @@ stopped making progress.
|
|||
The default value is: "false".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/LivelinessMonitoring[@Interval]
|
||||
Number-with-unit
|
||||
|
||||
This element controls the interval at which to check whether threads have
|
||||
been making progress.
|
||||
|
||||
The unit must be specified explicitly. Recognised units: ns, us, ms, s,
|
||||
min, hr, day.
|
||||
|
||||
The default value is: "1s".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/LivelinessMonitoring[@StackTraces]
|
||||
Boolean
|
||||
|
||||
This element controls whether or not to write stack traces to the Cyclone
|
||||
DDS trace when a thread fails to make progress (on select platforms
|
||||
only).
|
||||
|
||||
The default value is: "true".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/MaxParticipants
|
||||
Integer
|
||||
|
||||
|
@ -819,6 +1247,8 @@ The default value is: "-1".
|
|||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/MultipleReceiveThreads
|
||||
Attributes: [maxretries](#cycloneddsdomaininternalmultiplereceivethreadsmaxretries)
|
||||
|
||||
Boolean
|
||||
|
||||
This element controls whether all traffic is handled by a single receive
|
||||
|
@ -830,6 +1260,18 @@ single (the default).
|
|||
The default value is: "true".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/MultipleReceiveThreads[@maxretries]
|
||||
Integer
|
||||
|
||||
Receive threads dedicated to a single socket can only be triggered for
|
||||
termination by sending a packet. Reception of any packet will do, so
|
||||
termination failure due to packet loss is exceedingly unlikely, but to
|
||||
eliminate all risks, it will retry as many times as specified by this
|
||||
attribute before aborting.
|
||||
|
||||
The default value is: "4294967295".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/NackDelay
|
||||
Number-with-unit
|
||||
|
||||
|
@ -880,6 +1322,8 @@ The default value is: "true".
|
|||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/RediscoveryBlacklistDuration
|
||||
Attributes: [enforce](#cycloneddsdomaininternalrediscoveryblacklistdurationenforce)
|
||||
|
||||
Number-with-unit
|
||||
|
||||
This element controls for how long a remote participant that was
|
||||
|
@ -898,6 +1342,18 @@ Valid values are finite durations with an explicit unit or the keyword
|
|||
The default value is: "10s".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/RediscoveryBlacklistDuration[@enforce]
|
||||
Boolean
|
||||
|
||||
This attribute controls whether the configured time during which recently
|
||||
deleted participants will not be rediscovered (i.e., "black listed") is
|
||||
enforced and following complete removal of the participant in Cyclone
|
||||
DDS, or whether it can be rediscovered earlier provided all traces of
|
||||
that participant have been removed already.
|
||||
|
||||
The default value is: "false".
|
||||
|
||||
|
||||
#### //CycloneDDS/Domain/Internal/RetransmitMerging
|
||||
One of: never, adaptive, always
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue