@@ -30,17 +30,14 @@ The following steps describe the possible changes that your project may require
30
30
Step 1: Update the package name and CMake configuration
31
31
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32
32
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) ``.
34
36
2. Environment variables:
35
37
36
38
* 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 ``.
44
41
45
42
.. _step-2-update-dependencies :
46
43
@@ -72,10 +69,10 @@ Step 4: Apply namespace changes
72
69
73
70
1. Namespace migration:
74
71
75
- * Update all ``eprosima::fastrtps:: `` namespace references to ``eprosima::fastdds:: ``.
72
+ * First, update all ``eprosima::fastrtps:: `` namespace references to ``eprosima::fastdds:: ``.
76
73
* 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 ``.
79
76
* Move ``Time_t.hpp `` references from ``eprosima::fastdds:: `` to ``eprosima::fastdds::dds ``.
80
77
81
78
Ensure you update these namespace references across your code to avoid compilation errors.
@@ -109,7 +106,7 @@ Step 5: Migrate public headers
109
106
* - ``fastrtps/eProsima_auto_link.h ``
110
107
- ``fastdds/fastdds_auto_link.hpp ``
111
108
* - ``fastrtps/attributes/ParticipantAttributes.h ``
112
- - ``fastdds/rtps/DomainParticipantQos .hpp ``
109
+ - ``fastdds/dds/domain/qos/DomainParticipantExtendedQos .hpp ``
113
110
* - ``fastrtps/Domain.h ``
114
111
- ``fastdds/dds/domain/DomainParticipantFactory.hpp ``
115
112
* - ``fastrtps/log/Log.h ``
@@ -145,7 +142,8 @@ Step 5: Migrate public headers
145
142
* - ``fastdds/rtps/common/Time_t.hpp in namespace{fastdds} ``
146
143
- ``fastdds/dds/core/Time_t.hpp in namespace{fastdds::dds} ``
147
144
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 ``.
149
147
150
148
2. File extensions:
151
149
@@ -206,8 +204,6 @@ Since they are no longer public, it is not possible to include them in external
206
204
* TypeLookupService.hpp
207
205
208
206
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.
211
207
212
208
.. _step-7-update-api-methods :
213
209
@@ -396,117 +392,7 @@ your code to reflect these changes:
396
392
Step 9: Examples refactor
397
393
^^^^^^^^^^^^^^^^^^^^^^^^^
398
394
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