Skip to content

Commit 7874384

Browse files
Update migration guide removing things not related to application developer (#1003)
* Refs #22012: Updated Step 4 format Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Modified and expanded Step 1 Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Updated Step 4 Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Clarified the relocation of fixed_size_string.hpp Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Added TODO comments to start discussion Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Corrected the table in step 4 Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Shortened Step 9 significantly Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: corrected typo Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Removed redundant line in step 6 Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Solved failing CI Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Refs #22012: Solved failing CI Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> * Update docs/notes/migration_guide.rst Co-authored-by: Raul Sanchez-Mateos Lizano <raul@eprosima.com> Signed-off-by: juanjo4936 <69901369+juanjo4936@users.noreply.github.com> --------- Signed-off-by: Juanjo Garcia <juanjosegarcia@eprosima.com> Signed-off-by: juanjo4936 <69901369+juanjo4936@users.noreply.github.com> Co-authored-by: Raul Sanchez-Mateos Lizano <raul@eprosima.com>
1 parent 79c5d47 commit 7874384

File tree

1 file changed

+15
-129
lines changed

1 file changed

+15
-129
lines changed

docs/notes/migration_guide.rst

Lines changed: 15 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,14 @@ The following steps describe the possible changes that your project may require
3030
Step 1: Update the package name and CMake configuration
3131
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3232

33-
1. CMake project name: Rename the CMake project from ``fastrtps`` to ``fastdds``.
33+
1. CMake project name: Rename all instances in the CMake project from ``fastrtps`` to ``fastdds``. For example,
34+
update ``target_link_libraries(fastrtps)`` to ``target_link_libraries(fastdds)``, and ``if(NOT fastrtps_FOUND)`` to
35+
``if(NOT fastdds_FOUND)``.
3436
2. Environment variables:
3537

3638
* Rename ``FASTRTPS_DEFAULT_PROFILES_FILE`` to ``FASTDDS_DEFAULT_PROFILES_FILE``.
37-
* The configuration file for loading profiles is now ``DEFAULT_FASTDDS_PROFILES.xml``.
38-
39-
3. Update CMake file names on Windows:
40-
41-
* Rename ``fastrtps.manifest.in`` to ``fastdds.manifest.in``.
42-
* Rename ``fastrtps-config.cmake`` to ``fastdds-config.cmake``.
43-
* Rename ``fastrtps.rc`` to ``fastdds.rc``.
39+
* The configuration file for loading profiles has been renamed from ``DEFAULT_FASTRTPS_PROFILES.xml`` to
40+
``DEFAULT_FASTDDS_PROFILES.xml``.
4441

4542
.. _step-2-update-dependencies:
4643

@@ -72,10 +69,10 @@ Step 4: Apply namespace changes
7269

7370
1. Namespace migration:
7471

75-
* Update all ``eprosima::fastrtps::`` namespace references to ``eprosima::fastdds::``.
72+
* First, update all ``eprosima::fastrtps::`` namespace references to ``eprosima::fastdds::``.
7673
* Move built-in topics ``SubscriptionBuiltinTopicData``, ``PublicationBuiltinTopicData``, and
77-
``ParticipantBuiltinTopicData`` from ``fastdds::dds::builtin::`` to ``fastdds::dds::``.
78-
* Move ``Duration_t`` and ``c_TimeInfinite`` references to ``dds::``.
74+
``ParticipantBuiltinTopicData`` from ``eprosima::fastdds::dds::builtin::`` to ``eprosima::fastdds::rtps::``.
75+
* Move ``Duration_t`` and ``c_TimeInfinite`` references from ``eprosima::fastdds::`` to ``eprosima::fastdds::dds``.
7976
* Move ``Time_t.hpp`` references from ``eprosima::fastdds::`` to ``eprosima::fastdds::dds``.
8077

8178
Ensure you update these namespace references across your code to avoid compilation errors.
@@ -109,7 +106,7 @@ Step 5: Migrate public headers
109106
* - ``fastrtps/eProsima_auto_link.h``
110107
- ``fastdds/fastdds_auto_link.hpp``
111108
* - ``fastrtps/attributes/ParticipantAttributes.h``
112-
- ``fastdds/rtps/DomainParticipantQos.hpp``
109+
- ``fastdds/dds/domain/qos/DomainParticipantExtendedQos.hpp``
113110
* - ``fastrtps/Domain.h``
114111
- ``fastdds/dds/domain/DomainParticipantFactory.hpp``
115112
* - ``fastrtps/log/Log.h``
@@ -145,7 +142,8 @@ Step 5: Migrate public headers
145142
* - ``fastdds/rtps/common/Time_t.hpp in namespace{fastdds}``
146143
- ``fastdds/dds/core/Time_t.hpp in namespace{fastdds::dds}``
147144

148-
Also, the ``fixed_size_string.hpp`` implementation has been migrated from Fast DDS package to Fast CDR.
145+
Also, the ``fixed_size_string.hpp`` implementation has been migrated from ``fastrtps/utils/fixed_size_string.hpp``
146+
to ``fastcdr/cdr/fixed_size_string.hpp``.
149147

150148
2. File extensions:
151149

@@ -206,8 +204,6 @@ Since they are no longer public, it is not possible to include them in external
206204
* TypeLookupService.hpp
207205

208206
If your project previously included any of these headers, you will need to modify your implementation.
209-
Since these headers are now private, you should replace their usage with public alternatives or refactor the
210-
related code to ensure it does not depend on private headers.
211207

212208
.. _step-7-update-api-methods:
213209

@@ -396,117 +392,7 @@ your code to reflect these changes:
396392
Step 9: Examples refactor
397393
^^^^^^^^^^^^^^^^^^^^^^^^^
398394

399-
All examples have been refactored to follow a consistent structure across the Fast DDS project.
400-
This includes renaming files, restructuring classes, and updating the overall format.
401-
Additionally, it is important to note that some examples have been removed, renamed, or had significant changes
402-
to their options and configurations.
403-
If you have integrated any of these examples into your own implementation, carefully review the updated examples
404-
to ensure compatibility with your project.
405-
406-
All the examples have been refactored to follow the same structure:
407-
408-
* File names, guards, and classes follow new format.
409-
* Detailed and well-formed README.md with example explanation.
410-
* Example structured in applications, stopped by ``SIGTERM`` signal.
411-
412-
`Hello World <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/hello_world>`_
413-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
414-
415-
Refactor the HelloWorld example with the current new example format.
416-
In this hello world example, the key changes are:
417-
418-
* The XML profile is loaded from the environment (if defined), and the `--env` CLI option has been removed.
419-
* Add a subscriber implementing the waitsets mechanism.
420-
* Provide XML profiles examples targeting several scenarios (e.g., SampleConfig_Controller, Events, Multimedia).
421-
422-
`X-Types Examples <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/xtypes>`_
423-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
424-
425-
In this X-Types example, a type is defined at runtime on the publisher side using the Dynamic Types API.
426-
The subscriber discovers the type, creates a reader for it, and prints the received data.
427-
This example is type compatible with the Hello World example.
428-
429-
`Configuration <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/configuration>`_
430-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
431-
432-
In the configuration example, the key changes are:
433-
434-
* Included LargeData as an option (builtin transport argument).
435-
* Included all previous QoS examples:
436-
437-
- Deadline
438-
- Disable positive ACKs
439-
- Lifespan
440-
- Liveliness
441-
- Ownership (strength)
442-
- Partitions
443-
444-
`Content Filter <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/content_filter>`_
445-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
446-
447-
Refactor the ContentFilteresTopicExample example with the current new example format.
448-
In this content filter example, the main changes are:
449-
450-
* Added option to select filter type: Default, Custom, or None.
451-
* Customizable lower-bound and upper-bound options of the filter as arguments.
452-
453-
- For the Custom filter, they represent the maximum and minimum values of the message indexes that are filtered out
454-
through the filter.
455-
- For the Default filter, they represent the maximum and minimum value message indexes that are read.
456-
457-
`Custom Payload Pool <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/custom_payload_pool>`_
458-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
459-
460-
Refactor the CustomPayloadPoolExample example with the current new example format.
461-
462-
`Delivery Mechanism <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/delivery_mechanisms>`_
463-
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
464-
465-
In this delivery mechanisms example, the key changes are:
466-
467-
* Loans and data-sharing compatible: bounded types, final extensibility.
468-
* Loans mechanism for data management.
469-
* Option to select all delivery mechanisms.
470-
471-
`Discovery Server <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/discovery_server>`_
472-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
473-
474-
Refactor the DiscoveryServerExample example with the current new example format.
475-
476-
`Flow Controller <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/flow_control>`_
477-
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
478-
479-
Refactor the FlowControlExample example with the current new example format.
480-
In this Flow Controller example, the key changes are:
481-
482-
* Publishers continuously send samples. The user can set the number of samples to send.
483-
* User can set the following QoS and properties for the Flow Controller:
484-
485-
- Scheduler policy used by the flow controller.
486-
- Maximum number of bytes to be sent to the network per period.
487-
- Period of time in milliseconds during which the flow controller is allowed to send the maximum number of bytes
488-
per period.
489-
- Property `fastdds.sfc.priority`.
490-
- Property `fastdds.sfc.bandwidth_reservation`.
491-
492-
`Request-Reply <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/request_reply>`_
493-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
494-
495-
Refactor the Request-Reply example with the current new example format.
496-
497-
`Static EDP Discovery <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/static_edp_discovery>`_
498-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
499-
500-
Refactor the Static EDP Discovery example with the new example format.
501-
502-
`Security <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/security>`_
503-
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
504-
505-
Refactor the SecureHelloWorld example with the current new example format.
506-
507-
`RTPS Entities <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/rtps>`_
508-
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
509-
510-
Refactor the rtps/Registered example with the current new example format.
511-
This RTPS example demonstrates a basic RTPS deployment.
512-
The main change is that serialization and deserialization are done with overload methods from fastcdr.
395+
All examples in the Fast DDS project have been refactored to follow a consistent structure, having renamed files,
396+
restructured classes, and updated the overall format. If you have integrated any example into your
397+
own implementation, carefully review the updated examples to ensure compatibility with your project. As reference,
398+
consider the example `Configuration <https://github.com/eProsima/Fast-DDS/tree/master/examples/cpp/configuration>`_.

0 commit comments

Comments
 (0)