RTI Connext C# API
6.1.0
|
Major performance improvements for high throughput
This release includes a few performance improvements that drastically increase the maximum throughput that can be achieved with the Connext DDS C# API.
Note also that our internal testing shows that .NET 5 provides far better performance than previous .NET versions such as .NET Core 3.1 or .NET Framework 4.6.1.
Issue reference: CORE-11560
How to upgrade to 6.1.0.2 This release is available on nuget.org. To upgrade, edit your .csproj
files and replace Version="6.1.0"
with Version="6.1.0.2"
, use the Visual Studio NuGet package manager, or run the following command in the directory where your .csproj
is to get the latest version:
(Don't add .Extra
to the package name if you're using .NET Core 2.x or .NET Framework.)
RTI Connext 6.1.0 is the first release of this new C# API, which will replace the legacy .NET C++/CLI and C# API.
The Connext DDS C# API is supported on .NET Standard 2.0 systems, including .NET 5 (and newer), .NET Core 2.1, .NET Core 3.1, .NET Framework 4.6.1, Unity 2018.1.
It runs on Windows®, Linux® and macOS® platforms. It has been tested on the following systems:
The Connext DDS C# API has three components: The Rti.ConnextDds
NuGet package contains most of the API and is compatible with .NET Standard 2.0. The Rti.ConnextDds.Extra
NuGet package adds a few utilities that require .NET Standard 2.1 compatibility (.NET Core 3.1, .NET 5, or newer). C# support for the IDL and XML code generator, rtiddsgen.
The NuGet packages can be obtained from nuget.org (they require a license file) or with an RTI installer. The code generator support is only available with the RTI installer.
See the Getting Started Guide to install the Connext DDS C# API and build and run your first application.
If you had access to a preview release, you may need to clear your NuGet cache:
To work with Unity, see this tutorial.
RTI Connext DDS 6.1.0 is the first release of this API. This release has a few limitations that will be resolved in upcoming releases.
DomainParticipant
and Publisher
do not provide events to notify of status changes. Subscriber
only provides Rti.Dds.Subscription.Subscriber.DataOnReaders. DataWriter
, DataReader
, and Topic
provide all their events. (Note that DomainParticipant
and Publisher
do not have statuses of their own; they only define listeners that are notified when the status of a contained entity changes.) (CORE-11384)FlowController
class is not implemented, but FlowControllers can be configured with the Rti.Dds.Core.Policy.Property QoS policy. See Writing data and instances. (CORE-11388)TopicQuery
class is not implemented. TopicQuery can be enabled on the DataWriter with the Rti.Dds.Core.Policy.TopicQueryDispatch QoS policy, but it can't be used on the DataReader. (CORE-11386)@optional
annotation cannot be applied to a sequence
. The annotation is ignored and a non-optional sequence is generated instead. Note however that a sequence with length zero can be used to represent optionality without the annotation. (CODEGENII-1503)sequence
s cannot be used unless the sequence
is aliased using a typedef
. Otherwise the array is ignored. (CODEGENII-1504)@external
annotation is not supported (it is ignored).typedef
) may not be completely accurate. While this has no interoperability implications, tools like Admin Console may display a type where the alias has been ignored and only the aliased type is used. (CODEGENII-1500)@csharp_mapping
annotation, which allows customizing some aspects of the IDL-to-C# mapping, is not supported. (CODEGENII-1498, CODEGENII-1499)<installation dir>/bin/rtiddsgen
) instead.The previous .NET API and IDL binding to C++/CLI is deprecated since 6.1.0 and will be removed in a future version and replaced with this new C# API and C# IDL binding.
The default RTI Connext Professional 6.1.0 installation still contains the legacy API. To use the this new API you have to install an additional package.
The 6.1.0 migration guide provides useful information for developers of the legacy .NET API.
.NET Core 3.1
The MIT License (MIT) Copyright (c) .NET Foundation and Contributors All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.