5.3. What’s New in 4.4.0
This section describes what’s new in Code Generator 4.4.0 (Connext 7.4.0) compared to release 4.3.0 (Connext 7.3.0).
Connext 7.4.0 is an early access release. See the Connext Versions and Lifecycle page for more information on RTI’s software release model.
For what’s new and fixed in other products in the Connext suite, see those products’ release notes on the RTI Community Portal or in your installation.
5.3.1. Faster code generation by processing multiple files concurrently
Code Generator can now generate code for multiple files simultaneously. Code Generator server can also handle multiple requests concurrently. This new functionality enhances overall performance when dealing with multiple files, resulting in faster code generation.
To generate code for multiple files at once, simply provide a folder or
collection of input files to Code Generator. Include the -j flag
along with the desired number of files you wish to process concurrently.
The following example generates code for all files within
folder-with-100-idls, four at a time:
rtiddsgen -language C++11 -inputIdl ./folder-with-100-idls/ -j 4
For further details on the new flag, see Command-Line Arguments for rtiddsgen in the RTI Code Generator User’s Manual.
5.3.2. Generate simpler Python and C++ example applications
rtiddsgen includes a new example template
(-exampleTemplate minimal) that generates simpler example publisher
and subscriber applications in Modern C++ and Python.
With this option, the subscriber application in Python uses the
@app.subscribe() decorator, which is also new in this release, to
subscribe to a Topic by directly associating a function with the Topic
to receive updates. In Modern C++, the example subscriber uses the
SampleProcessor. In both cases, the application no longer needs to
handle a WaitSet and can subscribe to multiple topics very easily.
This new example template also eliminates all optional code, such as the creation of the Publisher and Subscriber entities, command-line argument parsing, and more.
To generate this example for your IDL type, use the following commands:
rtiddsgen -language python -example universal -exampleTemplate minimal MyTypes.idl
or
rtiddsgen -language c++11 -example <platform> -exampleTemplate minimal MyTypes.idl
For more information, see Minimal Example in the RTI Connext Code Generator User’s Manual.
5.3.3. Ability for Python code creation to suppress sys.path for “include” files
In Python, for each file included by another file, Code Generator generates
an import statement preceded by sys.path.append() with the path of the
included file. This allows preserving the directory structure of the input
files in the Python output.
If you prefer to manage the structure of the Python output in a different way, you can now disable this behavior with the -noSysPathGeneration option. See Including Files in the RTI Code Generator User’s Manual for more details.
5.3.4. New -ignoreSpecWarnings option removes specification compliance warnings
A new command-line option, -ignoreSpecWarnings, has been added to
Code Generator. The -ignoreSpecWarnings option suppresses warnings
related to IDL/XML incompliance with the specification, for customers who
do not need compliance. The new option cannot be used together with the
-strict option.
The new option is documented in Command-Line Arguments for rtiddsgen in the RTI Code Generator User’s Manual.
5.3.5. Easily remedy communication issues with example configurations in USER_QOS_PROFILES.xml
The generated USER_QOS_PROFILES.xml
file
now includes commented-out example settings for <initial_peers> and
<transport_builtin> <mask>. These settings are commonly used for
proper DDS DomainParticipant configuration. Updating the initial
peers
is an easy way to allow communication if you are on a network that
blocks multicast traffic (and your applications aren’t communicating).
The
transport_builtin
example settings can also guide you in directing data more easily.
Find these settings in the <domain_participant_qos> section, right
after the </participant_name> tag.