diff --git a/code/XMLTester.xml b/code/XMLTester.xml index ad13af94f..5dcddd759 100644 --- a/code/XMLTester.xml +++ b/code/XMLTester.xml @@ -1006,6 +1006,8 @@ NONE + FILTER_DIFFERENT_HOST + SIMPLE @@ -2030,7 +2032,11 @@ 66 - + +CONF-LIBRARY-SETTINGS<--> + + FULL + <--> LOG-CONFIG<--> @@ -2049,3 +2055,6 @@ <--> + + + diff --git a/docs/advanced.rst b/docs/advanced.rst index 3af9fd14b..12cda67f6 100644 --- a/docs/advanced.rst +++ b/docs/advanced.rst @@ -58,6 +58,19 @@ This consist of defining a maximum number of data sinks and a maximum size for e Note that your History must be big enough to accommodate the maximum number of samples for each key. eProsima Fast RTPS will notify you if your History is too small. +.. _intraprocess-delivery: + +Intra-process delivery +********************** + +*eProsima Fast RTPS* allows to speed up Intra-process communications by avoiding any copy operation involved with +the transport layer. This feature is disabled by default and must be enable using :ref:`xml-profiles`. Currently the +following options are available: + +* **INTRAPROCESS_OFF**. Default value, the feature is disabled. +* **INTRAPROCESS_USER_DATA_ONLY**. Discovery metadata keeps using ordinary transport. +* **INTRAPROCESS_FULL**. Both user data and discovery metadata using Intra-process delivery. + .. _comm-transports-configuration: Transports @@ -691,6 +704,14 @@ DiscoverySettings | :end-before: <--> | +--------------------------------------------------+ ++ a **ignoreParticipantFlags** member specifies participant filtering criteria to optimize discovery stage speed + and memory usage. This feature is only available for the `SIMPLE` discovery protocol. There are several options: + + * **FILTER_DIFFERENT_HOST** all metadata from another host would be discarded. + * **FILTER_DIFFERENT_PROCESS** all metadata from another process on the same host would be discarded. + * **FILTER_SAME_PROCESS** all metadata from our own process would be discarded. + * **FILTER_DIFFERENT_PROCESS | FILTER_SAME_PROCESS** all metadata from our own host would be discarded. + + **use_XXX_EndpointDiscoveryProtocol** flags. There is a specific section dealing with them (see `Static Endpoints Discovery`_). diff --git a/docs/xmlprofiles.rst b/docs/xmlprofiles.rst index 6b4654df7..980072b6a 100644 --- a/docs/xmlprofiles.rst +++ b/docs/xmlprofiles.rst @@ -55,6 +55,22 @@ this profile name and applies the XML profile to the entity. To load dynamic types from its declaration through XML see the :ref:`Usage` section of :ref:`xmldynamictypes`. +.. _librarySettingsAttributes: + +Library settings +----------------- + +This section is devoted to general settings that are not constraint to specific entities +(like participants, subscribers, publishers) or functionality (like transports or types). All of them +are gathered under the ``library_settings`` profile. + +.. literalinclude:: ../code/XMLTester.xml + :language: xml + :start-after: CONF-LIBRARY-SETTINGS<--> + :end-before: <--> + +Currently only the :ref:`intraprocess-delivery` feature is comprised here. + .. _transportdescriptors: Transport descriptors @@ -736,6 +752,8 @@ This section of the :class:`Participant's rtps` configuration allows defining bu .. |readhistmem| replace:: ```` .. |writhistmem| replace:: ```` .. |mutTries| replace:: ```` +.. |igpartf| replace:: ```` +.. |filterlist| replace:: :ref:`ignoreParticipantFlags ` +--------------------------------+----------------------------------+-------------------------+-----------------------+ | Name | Description | Values | Default | @@ -744,6 +762,9 @@ This section of the :class:`Participant's rtps` configuration allows defining bu | | discovery-related settings can | :ref:`discovery_config | | | | be configured. | ` | | +--------------------------------+----------------------------------+-------------------------+-----------------------+ +| |igpartf| | Restricts metatraffic using | |filterlist| | No filtering. | +| | several filtering criteria. | | | ++--------------------------------+----------------------------------+-------------------------+-----------------------+ | ```` | Restricts metatraffic multicast | ``Boolean`` | :class:`true` | | | traffic to PDP only. | | | +--------------------------------+----------------------------------+-------------------------+-----------------------+ @@ -817,6 +838,15 @@ This section of the :class:`Participant's rtps` configuration allows defining bu | | is set to :class:`STATIC` | | | +----------------------------+---------------------------------------+-------------------------+----------------------+ +.. _Participantfiltering: + +**ignoreParticipantFlags** + +* **FILTER_DIFFERENT_HOST** all metadata from another host would be discarded. +* **FILTER_DIFFERENT_PROCESS** all metadata from another process on the same host would be discarded. +* **FILTER_SAME_PROCESS** all metadata from our own process would be discarded. +* **FILTER_DIFFERENT_PROCESS | FILTER_SAME_PROCESS** all metadata from our own host would be discarded. + .. _sedp: **simpleEDP**