@@ -30,17 +30,14 @@ The following steps describe the possible changes that your project may require
3030Step 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) ``.
34362. 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
73701. 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
1501482. 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
208206If 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:
396392Step 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