Skip to content

Commit

Permalink
Adding features from 1.9.3 (#72)
Browse files Browse the repository at this point in the history
* Update to introduce new 1.9.x features: participant filtering and intraprocess delivery.

* Apply suggestions from code review

* Fixing linters

* More linters

* More fixes.

* Fixing XMLTester.xml
  • Loading branch information
MiguelBarro authored and MiguelCompany committed Nov 15, 2019
1 parent d63dcb0 commit 35acef9
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 1 deletion.
11 changes: 10 additions & 1 deletion code/XMLTester.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1006,6 +1006,8 @@

<discoveryProtocol>NONE</discoveryProtocol> <!-- DiscoveryProtocol enum -->

<ignoreParticipantFlags>FILTER_DIFFERENT_HOST</ignoreParticipantFlags> <!-- ParticipantFlags enum -->

<EDP>SIMPLE</EDP> <!-- string -->

<leaseDuration>
Expand Down Expand Up @@ -2030,7 +2032,11 @@

<entityID>66</entityID>
</subscriber>
</profiles>

<!-->CONF-LIBRARY-SETTINGS<-->
<library_settings>
<intraprocess_delivery>FULL</intraprocess_delivery> <!-- OFF | USER_DATA_ONLY | FULL -->
</library_settings>
<!--><-->

<!-->LOG-CONFIG<-->
Expand All @@ -2049,3 +2055,6 @@
</consumer>
</log>
<!--><-->


</profiles>
21 changes: 21 additions & 0 deletions docs/advanced.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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`_).

Expand Down
30 changes: 30 additions & 0 deletions docs/xmlprofiles.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -736,6 +752,8 @@ This section of the :class:`Participant's rtps` configuration allows defining bu
.. |readhistmem| replace:: ``<readerHistoryMemoryPolicy>``
.. |writhistmem| replace:: ``<writerHistoryMemoryPolicy>``
.. |mutTries| replace:: ``<mutation_tries>``
.. |igpartf| replace:: ``<ignoreParticipantFlags>``
.. |filterlist| replace:: :ref:`ignoreParticipantFlags <Participantfiltering>`

+--------------------------------+----------------------------------+-------------------------+-----------------------+
| Name | Description | Values | Default |
Expand All @@ -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. | <dconf>` | |
+--------------------------------+----------------------------------+-------------------------+-----------------------+
| |igpartf| | Restricts metatraffic using | |filterlist| | No filtering. |
| | several filtering criteria. | | |
+--------------------------------+----------------------------------+-------------------------+-----------------------+
| ``<avoid_builtin_multicast>`` | Restricts metatraffic multicast | ``Boolean`` | :class:`true` |
| | traffic to PDP only. | | |
+--------------------------------+----------------------------------+-------------------------+-----------------------+
Expand Down Expand Up @@ -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**
Expand Down

0 comments on commit 35acef9

Please sign in to comment.