Home

What`s New - Community RTI Connext Users

image

Contents

1. Create a DomainParticipant with default QoS dds domain DomainParticipant partipant domain_id Create a Topic and automatically register the typ cele 3 FisejoLeSs 2MCjOLeEKHOOS COOLS jodicciedpcimc Example Heo y Create a DataWriter with default QoS Publisher created inline dds pub DataWriter lt Foo gt Wied cee clicls 8 i PUDE PUlol i Singic jSeieicSijosimic Opie Foo sample tor aint count Of count lt semple count sample count OF Cownt i Modify the data to be written here Secs reouic lt lt Wielcine Hoo Ccoume V lt lt comme lt lt siccls senele writer write sample Belette skeep clels 8 seo 2 Dura Eron ANN Foo_subscriber cxx example subscriber Ui voici gubseriber main int domein acl imt semole CONE Create a DomainParticipant with default QoS dds domain DomainParticipant participant domain id Create a Topic and automatically register the typ GlelSs s cope GWE LeEK lt HOOS Toore participant MEpxeinollka FOGH p Create a DataReader with default QoS Subscriber created inline dds sub DataReader lt Foo gt reacer clle sill SUS Ciao Cis oc tie Ct cline y COSTE P Create a ReadCondition for any data on this reader and associate it with a handler nie Cowme 07 dds sub cond ReadCondition read_condition 1 6 Modern C API reader elles stios s etatis g DelicalSicaicas samih amp reader
2. amp count Take all samples dds sub LoanedSamples lt Foo gt samples reader take for auto sample samples i samole simio avela CONO E std cout lt lt sample data lt lt std endl The LoanedSamples destructor returns the loan i Create a WaitSet and attach the ReadCondition ddiseicore Cond kWa leser riva TeS ery Waltset read condition while count lt sample count sample count 0 Dispatch will call handlers associated with waitset conditions when they activate SEC aC Olen lt NTO SwWloseriloer slespine tor 4 see lt lt sgitclasemelly wait up to 4s each time waitset dispatch dds core Duration 4 For more information about the Modern C API see the API Reference HTML documentation RTI Connext Moder C API RTI Connext v Modules Documentation Roadmap Namespaces and headers gt RTI Connext DDS API Reference gt Programming Tools gt Namespaces gt Classes gt Examples 1 7 Changes to Connext DDS Java Packaging on Windows Platforms In the RTI Connext DDS Core Libraries User s Manual the following sections describe aspects of the API that differ significantly with respect to the other RTI Connext DDS language APIs e Section 3 3 Creating User Data Types with IDL e Section 3 7 Interacting Dynamically with User Data Types e Section 3 8 Working with DDS Data Samples e Section 4 1 1 Creating and Deleting DDS Entities e Secti
3. 2 6 kernel VxWorks 6 9 4 PPC e500v2 gce 4 3 3 gce 4 3 4 VxWorks 7 0 Pentium 32 bit Ubuntu 14 gcc 4 8 2 Windows Server 2012 R2 Visual Studio 2013 Visual Studio 2013 Visual Studio 2013 1 2 Removed Platforms RTI Architecture __ Abbreviation i86Linux3gcc4 8 2 x64Linux3 gcc4 8 2 x64Linux2 6gcc4 3 4 For Kernel Modules ppce500v2Vx6 9 4gcc4 3 3 For Real Time Processes ppceS00v2Vx6 9 4gcc4 3 3_rtp For Kernel Modules pentiumVx7 0gcc4 3 3 For Real Time Processes pentiumVx7 0gcc4 3 3_ rtp x64Win64V S2013 Please see the updated RTI Connext DDS Core Libraries Platform Notes for details on using these plat forms 1 2 Removed Platforms These platforms are no longer supported e Fedora INTEGRITY 10 0 2 for p4080 SELinux e VxWorks MILS Windows platforms using Visual Studio 2005 1 3 Unified Directory Structure 1 3 Unified Directory Structure This release unifies the directory structure across all Connext DDS tools and libraries Some files have changed locations and may require you to update your build infrastructure to find scripts in the new loc ation e bin Scripts to run tools services and utilities These scripts set up the environment correctly for RTI s applications e doc Documentation for all installed products including manuals and APIs e include Header files for all installed products e lib All Connext DDS libraries in the RTI SDK e java Location of
4. this was a regression in 5 1 0 Before the memory usage was determined by the maximum length of the string now memory usage is determined by the actual length of each sample This memory usage improvement applies to the following situations e Applications using DynamicDataReaders e Java applications e Content filters in RTI Routing Service C C and NET rtiddsgen generated DataReaders were not affected 1 46 Improved Performance for Key Only QueryCondition set_query_ parameters This release reduces the CPU consumption of the QueryCondition set_query_parameters operation for key only QueryConditions This improvement is more significant when the DataReader is receiving samples from a high number of instances 1 47 Reader Side Performance Improvements when Removing Association with Remote Writer The algorithm used to remove a remote keyed DataWriter from a DataReader has been improved to be more efficient When a DataReader detects that a DataWriter has left the system it purges information 21 1 48 Monitoring Libraries and Distributed Logger now Part of Connext DDS Bundle about the Data Writer and the instances that it was writing The algorithm that performed that purge was inefficient and if the DataWriter had a finite lifespan for its data and had written many instances this action could take a long time delaying the DataReader from otherwise continuing to process incoming data 1 48 Monitoring Libraries and Di
5. C GHAPIS Only 3 fens tas asta steed la oie fo fot ON Slt E SE Ae ete Nah tN 1 29 Out of Order Type Definitions in XML Configuration File are Now Allowed 2222222202002 1 30 Ability to Add Metadata Flags to Samples 2 2 2 o eee eee eee cee e eee e cece eeeeeeeee 1 31 Ability to Enable Manual Endpoint Discovery for Individual Participants 0 2 2222222 222 1 32 Ability to Configure Memory Allocation for Instance Keys in DataWriter and DataReader Queues 1 33 Ability to Configure Replacement Policy for Remote Participants Ignored by DomainParticipant 1 34 Ability to Retrieve PropertyQosPolicy Values for Remote Entities Outside of Built In Topic Callbacks 1 35 Exception Messages now include Underlying Errors JAVA Net C APIs Only 02222055 1 36 Host ID Automatically Generated when no IP Addresses Available 0002000222 cece eee eee eee 1 37 New API to Get Serialized Size fora Given TypeObject 0 2 0 c llc cece cece cece ee eee eee 1 38 New Field in DataReaderResourceLimitsQosPolicy keep minimum state for instances 1 39 New Field in DataReaderProtocolQosPolicy propagate_unregister_of disposed_instances 1 40 New Method get_participants for DomainParticipantFactory in C C 22 e ee eee 1 41 New QoS Policy to Mark DataReaders and DataWriters as Part of Infrastructure Service 1 42 Support for
6. Non NULL Listener with STATUS_MASK_NONE If a create_ lt dds_entity gt create_ lt dds_entity gt _with_profile or set_listener operation is called with anon NULL Listener and STATUS MASK NONE Connext DDS should have logged a warning In this release a warning is logged with this message Warning setting a listener with STATUS MASK NONE will disable all callbacks 1 55 Java Libraries Tested with Java 1 8 In this release the Java libraries have been tested with JDK 1 8 in addition to JDK 1 7 1 56 Deprecated Platforms Connext DDS 5 2 0 will be the last release that supports the platforms in Table 1 2 Deprecated Platforms Please contact the RTI Sales team if you have any questions Table 1 2 Deprecated Platforms 23 1 57 Sparse Value Types Deprecated Operating System Operating System CPU CompilerorSDK Compiler or SDK RTI a ao Abbreviation Yellow Dog 4 0 PPC 74xx gcc 3 3 3 ppc7400Linux2 6gcc3 3 3 Vista x64 2003 x64 XP Pro SP2 x64 x64 VS 2008 SP1 x64Win64V S2008 Vista 2003 XP Pro SP2 Las VS 2008 SP1 i86Win32VS2008 1 57 Sparse Value Types Deprecated Sparse value types have been deprecated in this release Users are encouraged to use Mutable Types and Optional Members in place of sparse value types Please see the RTI Connext DDS Core Libraries Getting Started Guide Addendum for Extensible Types for details on Mutable Types and Optional Members 1 58 Separate Documentation for Code Generator Det
7. Transport Windows IOCP Connection Reset Errors Changed from Exception to Warning 6c 2 222238 teat Tee secu eo ace EA Se NE et earl eo EE 1 18 Improved Logging of Precondition Errors from TCP Transport Plugin in Debug Mode 1 19 Partial Support for DurabilityServiceQosPolicy s service cleanup delay 02 02222022 22 1 20 Option to Release Resources Associated with Disposed Instance 2 202200 1 21 Support for Application Level Acknowledgment with Response Data 00 000000 2020000002 e eee eee 1 22 New DataWriter Status to Receive Notification when Sample is Application Level Acknowledged 1 23 Ability to See if Sample has been Application Acknowledged 22 22 2222 eee cece eee eee e eee eee 1 24 Ability to Prevent Invocation of on_application_acknowledgment when Response Data Empty or Wnvalid Ac EEE EAE E cdediddelos eek peeks et Ase PSS Ahles cect oe Re en Be delded A 1 25 Performance Optimizations in Application Level Acknowledgment Protocol 2222 222222 1 26 Ability to Provide Threads to Connext DDS in C CH ooo ccc ccc cece cee eee eee e ee eeeeeeees 1 27 New TypeSupport Operations in Built in Types to Serialize Sample into Buffer and Deserialize Sample POM Bufer eset ee Sate ee ee acts a A cl ees cite Bd A oa e coset ats Ate AA he eet aena hah 1 28 New DynamicData Operations to Serialize Sample into Buffer and Deserialize Sample from Buffer
8. been changed from Exception to Warning 1 18 Improved Logging of Precondition Errors from TCP Transport Plugin in Debug Mode 1 18 Improved Logging of Precondition Errors from TCP Transport Plugin in Debug Mode Starting with this release when using the TCP Transport plugin in debug mode any logged precondition errors will also include the failing precondition expression 1 19 Partial Support for DurabilityServiceQosPolicy s service_ cleanup_delay This release includes the ability to purge instances from Persistence Service The service_cleanup_ delay field of the DurabilityServiceQosPolicy controls when Persistence Service is able to remove all inform ation regarding a data instance The currently supported values for service_cleanup_delay are zero or INFINITE The default service_cleanup_delay value is 0 meaning that when an instance is disposed it will be purged from the persistence service immediately This will only happen if Persistence Service has been configured with use_durability_service true A value of INFINITE disables the purging of dis posed instances 1 20 Option to Release Resources Associated with Disposed Instance A new feature offers a way to release the resources associated with a disposed instance in both DataWriters and DataReaders When applied to a DataWriter historical samples are also removed poten tially saving bandwidth usage This feature is enabled in a DataWriter through a new field in the WriterDataL
9. jar files in the classpath of Java applications e lt architecture gt SDK libraries to link into your application e Java libraries libnddsjava so nddsjava dll We now ship one Java shared library for every supported compiler instead of shipping a single version in a separate jdk folder e NET libraries There is no longer a separate architecture folder for NET architectures VS2008 has NET 2 0 libraries VS2010 has NET 4 0 libraries VS2012 has NET 4 5 libraries and VS2013 has NET 4 5 1 libraries e resource Location of XML files IDL files example templates additional installers 1 4 Backup Process When installing new RTI packages that may overwrite the contents of previous packages for example when installing a patch the RTI Package Installer will create a zip file that contains a backup of all the files that are overwritten To avoid using unnecessary disk space the installer will delete the previous backup file after the latest backup zip file is created This means that there will only be one backup at a time To revert changes made by patching you can unzip this file and copy files back to their original location Note that this manual step will not be reflected in RTI Launcher which will still show the last installation version 1 4 1 Special Backup of RTI Libraries When installing a new RTI package that overwrites the libraries in the lt NDDSHOME gt lib K lt ar chitecture gt directory a backup will be cre
10. move to the DDS NOT ALIVE NO WRITERS INSTANCE _ STATE state without being in the DDS_ ALIVE INSTANCE STATE state When set to TRUE the DataReader will receive unregister notifications even if the instance is not alive 1 40 New Method get_participants for DomainParticipantFactory in C C There is a new method get_participants which returns a sequence of pointers to all the DomainPar ticipants within the DomainParticipantFactory 1 41 New QoS Policy to Mark DataReaders and DataWriters as Part of Infrastructure Service This release adds a new QoS policy named ServiceQosPolicy It is used to mark DataWriters and DataReaders as part of an infrastructure service User applications should not modify this policy s value The possible values for this policy are 1 42 Support for source guid and related source guid e DDS NO SERVICE QOS e DDS PERSISTENCE SERVICE QOS e DDS QUEUING SERVICE QOS e DDS ROUTING SERVICE QOS e DDS RECORDING SERVICE QOS e DDS REPLAY SERVICE QOS e DDS DATABASE INTEGRATION SERVICE QOS An application can determine the kind of service associated with a discovered DataWriter and DataReader by looking at a new field named service in the PublicationBuiltinTopicData and Sub scriptionBuiltinTopicData structures For more information see the updated RTI Connext DDS Core Libraries User s Manual Section 6 5 21 ServiceQosPolicy 1 42 Support for source_guid and related_source_guid 1 42 1 New Fields i
11. operations to serialize a DynamicData sample into a buffer and deserialize a DynamicData sample from a buffer e to_cdr_buffer e from_cdr_buffer These operations are only supported in the C and C languages For more information see the C or C API Reference HTML documentation 1 29 Out of Order Type Definitions in XML Configuration File are Now Allowed This release allows you to define types and constants out of order in the XML configuration files For example now you can have this lt struct name Structurel gt lt member type boolean name m1 gt lt member type nonBasic nonBasicTypeName Structure2 name m2 gt lt struct gt lt struct name Structure2 gt lt member type boolean name m1 gt lt struct gt In previous releases the above XML would have caused a parsing error 1 30 Ability to Add Metadata Flags to Samples This release adds the ability to add flags to a sample The DDS_WriteParams t structure used by the DataWriter s write_w_params operation includes a new field named flag which can be used to set the sample flags On the DataReader side the flags can be inspected using the field flag in the DDS_SamplelInfo structure RTI reserves the first eight least significant bits for middleware specific usage Of these eight bits four are already used 1 31 Ability to Enable Manual Endpoint Discovery for Individual Participants e REDELIVERED SAMPLE Bit 1 This bit
12. source guid and related source guid _ 20000000 coc eee eees 1 42 1 New Fields in DDS _ WriteParams t and Samplelnfo 000 000000 o occ cece eee eee 1 42 2 related_reader_guid and related subscription guid 000 0 002222 e cece eee eee eee eee 1 42 3 source_guid and related source guid 222 eee 1 43 Transport Priority Configurable for Built in and User Created DataReaders 2020222222000 1 44 Improved Content Filter Evaluation Performance for Types Containing Sequences and Unions 1 45 Improved Memory Usage of Content Filters of Types Containing Strings In Some Cases 1 46 Improved Performance for Key Only QueryCondition set_query_parameters 2002222 0220 1 47 Reader Side Performance Improvements when Removing Association with Remote Writer 1 48 Monitoring Libraries and Distributed Logger now Part of Connext DDS Bundle 1 49 Priority Inheritance used when Creating Semaphores on VxWorks Platforms 00 0 c02eee eee eee 1 50 New Default Value for DiscoveryConfig Built in Writer autopurge_unregistered_instances delay 1 51 New Default Value for DDS_DynamicProperty_t s buffer max_size 00 00 222222 e cece ee eee eee 1 52 New Defaults for DataReaderResourceLimits dynamically allocate fragmented_samples and max_ frag ments_per_sample 1 53 Ability to Extend Internal CdrIn
13. to be set in the type_object_max_serialized_ length field of the DomainParticipantResouceLimitsQosPolicy 1 38 New Field in DataReaderResourceLimitsQosPolicy keep minimum state for instances 1 38 New Field in DataReaderResourceLimitsQosPolicy keep_ minimum_state_for_instances A new field in the DataReaderResourceLimitsQosPolicy keep_minimum_state_for_instances indicates whether or not a minimum state will be kept for deleted instances This minimum state is used to support features and services such as multi channel DataWriters Durable Reader State and Persistence Service When this field is set to TRUE the default the minimum state will be kept for up to max_total_ instances another DataReaderResourceLimitsQosPolicy resource limit When set to FALSE no min imum state will be kept for instances which are purged from the DataReader Instances are purged from a DataReader in two cases 1 When there are no more known Data Writers for an instance and no samples for that instance in the DataReader s queue 2 When an instance has been disposed there are no more samples for it in the DataReader s queue and the ReaderDataLifecycleQosPolicy s autopurge_disposed_instances_delay has been set to a finite duration 1 39 New Field in DataReaderProtocolQosPolicy propagate _ unregister_of_disposed_instances A new field in the DataReaderProtocolQosPolicy propagate_unregister_of_disposed_instances indic ates whether or not an instance can
14. RTI Connext DDS Core Libraries What s New in Version 5 2 0 ty 2015 Real Time Innovations Inc All rights reserved Printed in U S A First printing June 2015 Trademarks Real Time Innovations RTI NDDS RTI Data Distribution Service DataBus Connext Micro DDS the RTI logo IRTI and the phrase Your Systems Working as one are registered trademarks trademarks or service marks of Real Time Innovations Inc All other trademarks belong to their respective owners Copy and Use Restrictions No part of this publication may be reproduced stored in a retrieval system or transmitted in any form including electronic mechanical photocopy and facsimile without the prior written permission of Real Time Innovations Inc The software described in this document is furnished under and subject to the RTI software license agreement The software may be used or copied only under the terms of the license agree ment Technical Support Real Time Innovations Inc 232 E Java Drive Sunnyvale CA 94089 Phone 408 990 7444 Email support rti com Website https support rti com Chapter 1 What s New in 5 2 0 1 1 New Platforms erea a cece cece eee A ee cee cecee ence ececeeeeeeeeeeeeeeeeees t2 Removed Platforms A a O ele ded nde y deetapnore sha ateuye cides a a dceseuve cedebadeda ls a ade 13 Unified Directory Stricture 22er dene icabdde acinus devndse cc Ah hdd nese ned aes Seo Sas Sen tee coh oe 1 4 Backup Proc
15. ails on RTI Code Generator rtiddsgen now appear in a separate RTI Code Generator User s Manual There is also a separate RTI Code Generator Release Notes document 24
16. ated of all the previous libraries in the lt NDDSHOME gt lib lt architecture gt directory That backup will be created in lt NDDSHOME gt lib K lt ar chitecture gt lt current_installed_version gt 1 5 Changes to Installation Process For example if you install a patch version 5 2 0 1 to the RTI core libraries for i86Win32VS2010 your 5 2 0 libraries will be copied into the following directory before the 5 2 0 1 libraries are installed lt NDDSHOME gt ib i86Win32VS2010 5 2 0 If you install another patch later before overwriting the 5 2 0 1 libraries they will be copied into lt NDDSHOME gt lib i86Win32VS2010 5 2 0 1 1 5 Changes to Installation Process This release is packaged in a different structure than previous releases There are still host and target bundles However now the host bundle is a run file and targets are rtipkg files To install these bundles you will run the host bundle such as rti_connext_dds 5 2 0 core host x64Linux run The installer will walk you through installing the host bundle Then you will install your target s To do so you can use the new RTI Package Installer utility that s available in RTI Launcher This utility allows you to select one or more packages to install Or you can install from the command line by using the rtipkginstall script in lt install directory gt bin For example to install a target bundle from a command line bin rtipkginstall lt target bundle rtipkg gt The G
17. ated with samples and instances in the DataReader queue can be reclaimed 1 21 Support for Application Level Acknowledgment with Response Data 1 21 Support for Application Level Acknowledgment with Response Data These release adds the ability to add response data to these DataReader operations e acknowledge_sample e acknowledge _allQ The response data is provided as a sequence of octets The maximum size is configurable using the max_ app_ack_response_length in the DataReaderResourceLimitsQosPolicy For additional information see the RTI Connext DDS Core Libraries User s Manual Section 7 4 4 Using DataReaders to Access Data Read amp Take and the API Reference HTML documentation 1 22 New DataWriter Status to Receive Notification when Sample is Application Level Acknowledged This release includes a new DataWriter status to receive notification when a sample is application level acknowledged by a DataReader This status triggers a new Data Writer s listener callback named on_ application_acknowledgment For more information see the RTI Connext DDS Core Libraries User s Manual and the API Reference HTML documentation 1 23 Ability to See if Sample has been Application Acknowledged There is a new Data Writer operation is sample_app_acknowledged You can use it to see if a sample has been application acknowledged by all matching DataReaders that were alive when the sample was published If a DataReader does not enab
18. ers This was because external load balancers did not forward the traffic to a unique TCP Transport Plugin server but they divided the connections among multiple servers Because of this behavior when an application running a TCP Transport plugin client tries to establish all the connections to an application running a TCP Trans port plugin server the server may not receive all the required connections This release adds a new property to NDDS_Transport TCPv4 Property _t negotiate_session_id By default this property is set to FALSE When set to TRUE the TCP Transport Plugin will perform a ses sion negotiation that will help external load balancers identify all the connections associated with a par ticular session between two Connext DDS applications This keeps the connections from being divided among multiple servers and ensures proper communication For more information see the RTI Connext DDS Core Libraries User s Manual Support for External Hardware Load Balancers in TCP Transport Plugin 1 12 Connection Liveliness Feature in TCP Transport Plugin The TCP Transport plugin now supports a new connection liveliness feature This feature provides a way to detect the disconnection of a connection without relying on notification from the operating system which may take several minutes depending on the scenario and OS configuration This feature is useful for systems running TCP Transport plugin clients on hosts that do not support
19. es in C C and NET APIs This release adds support for unbounded built in types in the C C and Net APIs To configure unbounded support set the properties dds builtin_type max_size and dds builtin_ type alloc_size to 2147483647 When unbounded support is configured the middleware will not preallocate the DataReader queue s samples to their maximum size Instead it will deserialize incoming samples by dynamically allocating and deallocating memory to accommodate the actual size of the sample value In addition to setting the properties dds builtin_type max_size and dds builtin_type alloc_size to 2 147 483 647 you must also use the threshold QoS properties dds data_writer history memory_man ager fast_pool pool_buffer_max_size on the DataWriter and dds data_reader history memory_man ager fast_pool pool_buffer_max_size on the DataReader Y ou must also set the QoS value reader_ resource_limits dynamically_allocate_fragmented_samples on the DataReader to true For additional information on these QoS values see the RTI Connext DDS Core Libraries User s Manual 1 11 Support for External Hardware Load Balancers in TCP Transport Plugin For two Connext DDS applications to communicate the TCP Transport plugin needs to establish 4 6 con nections between the two communicating applications 1 12 Connection Liveliness Feature in TCP Transport Plugin In previous releases the TCP Transport plugin did not support external load balanc
20. ess stenoza Ste ancien Sk sce tet a deme A mabe ta meena anata aaa e Sea sh aorta one seen J 141 Special Backup of RVI Libraries as sa seccti escc sehen Ractcecatacise cesses tadds seen alslgserdostcassaeness 1 5 Changes to Installation Process cocoi ea a pease goles doh dees Aa neee hi aod ecen de oleh odes Sees 1 6 Modem CARD 2cer sends ors etal Seto aes Jae dont adda ch ce detec aa ta aaa a OESIE 1 7 Changes to Connext DDS Java Packaging on Windows Platforms 02000 2222 c cece eee ee eee ee 1 8 Support for Custom Content Filters in NET API 0 222 o ccc c ec cceeeeecccce eee cece cece eeeeeeee 1 9 Improved Liveliness QoS Policy Behavior 0 2 2 2 oc cece ccc cece eee ee eeees 1 10 Support for Unbounded Built in Types in C C and NET APIs o oo lll eee ceeceeee eee es 1 11 Support for External Hardware Load Balancers in TCP Transport Plugin 002 20 202222 e eee ee 1 12 Connection Liveliness Feature in TCP Transport Plugin 00 000 0222222 e cece eee eee eee cece ee ee eee 1 13 Full Support for Windows I O Completion Ports with TLS 2 2 1 14 Added TCP USER TIMEOUT Support to Linux Architectures 2 22 22 22 c cece eee eee eee eee 1 15 TCP Transport s keep_alive time Property Now Supported on Mac Platforms 2220022 2 1 16 Improved TCP Transport Plugin Robustness Against Unexpected Control Messages 22 2 1 17 Logging Level for TCP
21. etting Started Guide has more details on installing 1 6 Modern C API This release includes a brand new C programming API the RTI Connext DDS Modern C API This API is based on the ISO IEC C 2003 Language DDS PSM DDS PSM Cxx specification and con tains the RTI extension features available in other languages The traditional C API is still available The modern C API provides substantially different programming paradigms and patterns The tra ditional API could be considered as simply C with classes while the modern API incorporates modern C techniques most notably e Generic programming e Integration with the standard library e Automatic object lifecycle management providing full value types and reference types e C 11 support for some platforms such as move operations initializer lists and support for range for loops RTI Code Generator includes two new language options that generate code for the new API language C 03 and language C 11 Using C 11 will generate a different example and include the flags to activate C 11 in your compiler if needed To use the traditional API continue using language C 1 6 Modern C API When you run lt RTI Connext DDS installation directory gt bin rtiddsgen language C 11 example lt your architecture gt Foo idl you will get this example code Foo_publisher cxx example publisher WoC PUloliSinvsie imei aime Clemeim acl iwime SemjolS cowmie
22. ially disabled and a call to the DomainParticipant s new resume_endpoint_discovery operation is required to enable endpoint discovery for a given dis covered participant For more information see the updated RTI Connext DDS Core Libraries User s Manual Section 16 4 5 Supervising Endpoint Discovery 1 32 Ability to Configure Memory Allocation for Instance Keys in DataWriter and DataReader Queues This release introduces configuration settings that allow more flexible memory allocation schemas for the key that is stored with every instance in DataWriter and DataReader queues In previous releases the Connext DDS core pre allocated the memory for keys in the DataWriter and DataReader queues Although this memory allocation policy is suitable for real time systems where determinism and predictability are key it leads to higher memory usage With the new configuration settings you can control when to use pre allocation versus dynamic memory allocation from the heap 1 33 Ability to Configure Replacement Policy for Remote Participants Ignored by DomainParticipant For more details on these configuration parameters see Chapter 20 Sample Data and Instance Data Memory Management in the R77 Connext DDS Core Libraries User s Manual Sections 20 3 and 20 4 1 33 Ability to Configure Replacement Policy for Remote Participants Ignored by DomainParticipant Connext DDS provides a way to ignore remote entities by invoking any of the following Doma
23. ifecycleQosPoliy autop urge_disposed_instances_delay When this feature is enabled the middleware will clean up all the resources associated with a disposed instance most notably the sample history of non volatile DataWriters when all the instance s samples have been acknowledged by all its live DataReaders includ ing the sample that indicates the disposal By default autopurge_disposed_instances_delay is disabled the delay is INFINITE If the delay is set to zero the DataWriter will clean up as soon as all the samples are acknowledged after the call to dispose 0 A non zero value is currently not supported This feature is supported in both the ODBC and in memory writer history configurations In a DataReader this feature is enabled through a field in ReaderDataLifecycleQosPolicy with the same name The autopurge_disposed_instances_delay in the ReaderDataLifecycleQosPolicy also currently only supported values of zero or INFINITE with INFINITE being the default If the delay is set to zero instances that have been disposed and have no outstanding unread samples including the dispose sample itself will be immediately purged from the DataReader s queue The default value of INFINITE disables this feature and instances will be purged from the DataReader s queue under the same conditions as they have been in previous releases See Section 7 6 3 READER DATA LIFECYCLE QoS Policy in the User s Manual for a description of when resources associ
24. inPar ticipant operations ignore_participant ignore_publication and ignore_subscription When an entity is ignored Connext DDS adds it to an internal ignore table The resource limits for this table are configured using the DomainParticipantResourceLimitsQosPolicy s ignored_entity_allocation Every time Connext DDS receives a message from an ignored entity it will check this table if the entity is ignored it will filter the message In previous releases the ignore operation failed if ignored_entity_allocation max_count was exceeded This release adds a new field to the DomainParticipantResourceLimitsQosPolicy ignored_entity_replace ment_kind By default this field is set to DDS NO REPLACEMENT IGNORED ENTITY __ REPLACEMENT meaning that a call to the DomainParticipant s ignore_participant ignore_pub lication ignore_subscription operations will fail if the DomainParticipant has ignored more entities than the limit set in ignored_entity_allocation max_count When ignored_entity_replacement_kind is set to DDS NOT_ALIVE_FIRST_IGNORED _ ENTITY_REPLACEMENT a call to ignore_participant will not fail when ignored_entity_alloc ation max_count is exceeded as long as there is one DomainParticipant already ignored Instead the call will replace one of the existing DomainParticipants in the internal table The remote DomainParticipant that will be replaced is the one for which the local DomainParticipant had not received any me
25. is used by RTI Queuing Service to mark a sample as redelivered e INTERMEDIATE REPLY SEQUENCE SAMPLE Bit 2 With the Request Reply com munication pattern this bit can be used to indicate that a response sample is not the last one for a given request When a request generates multiple responses from a Replier the Replier should mark all the responses except the last one as INTERMEDIATE REPLY SEQUENCE SAMPLE If the replier is a Data Writer this flag can be set by updating the flag member of the DDS_ WriteParams__ t parameter that is passed into the DataWriter s write_w_params operation If the replier is a Con next DDS Replier this flag can be set in the WriteSample provided to the Replier s send_replyQ operation e DDS REPLICATE SAMPLE Bit 3 Indicates if a sample must be broadcast by one RTI Queuing Service replica to other replicas e DDS LAST SHARED READER QUEUE SAMPLE Bit 4 Indicates that a sample is the last sample in a SharedReaderQueue for a QueueConsumer DataReader For more information please see the RTI Connext DDS Core Libraries User s Manual and the API Refer ence HTML documentation 1 31 Ability to Enable Manual Endpoint Discovery for Individual Participants This release adds a new field to the DiscoveryQosPolicy enable_endpoint_discovery By default this field is set to TRUE meaning endpoint discovery is automatically performed with all discovered par ticipants When set to FALSE endpoint discovery is init
26. iteParams t and Table 7 18 DDS _Samplelnfo 1 42 3 source_guid and related_source_guid The new source_guid field in DDS_WriteParams_t identifies the application logical data source asso ciated with the sample being written The new related_source_guid identifies the application logical data source that is related to the sample being written A DataReader can inspect the source_guid and related_source_guid of a received sample by inspecting the content of the fields source_guid and related_source_guid in the SamplelInfo structure The source_guid and related_source_guid fields are used by RTI Queuing Service in a request reply scenario to direct a response to the QueueProducer that generated the request In this scenario the QueueProducer s DataWriter sends requests by setting the source_guid to a unique value This value is always the same for a QueueProducer even if it is restarted The QueueProducer s DataReader receiving responses install a CFT on the related_source_ guid For more information see the RTI Connext DDS Core Libraries User s Manual Table 6 16 DDS _ WriteParams t and Table 7 18 DDS_Samplelnfo 1 43 Transport Priority Configurable for Built in and User Created DataReaders Previously transport priority was not configurable for built in DataReaders or user created DataReaders Now the metatraffic_transport_priority field in the DiscoveryQosPolicy configures the transport pri ority of all data sent from built in DataW
27. le application acknowledgment by setting the ReliabilityQosPolicy s acknowledgment_kind to a value other than DDS_PROTOCOL ACKNOWLEDGMENT MODE the sample is considered application acknowledged for that DataReader 1 24 Ability to Prevent Invocation of on_application_acknowledgment when Response Data Empty or Invalid The DataWriterProtocolQosPolicy contains a new field called propagate_app_ack_with_no_response When this field is set to FALSE the callback on_application_acknowledgment will not be invoked if the sample being acknowledged has an empty or invalid response The default setting is TRUE 1 25 Performance Optimizations in Application Level Acknowledgment Protocol 1 25 Performance Optimizations in Application Level Acknowledgment Protocol This release introduces significant performance optimizations in the application level acknowledgment pro tocol 1 26 Ability to Provide Threads to Connext DDS in C C Applications can now provide the threads needed by the middleware i e receiving threads database thread etc By default these threads are created by Connext DDS using a specific framework and are configured via QoS A new interface ThreadFactory can be implemented and plugged into DomainPar ticipants to create the required threads by Connext DDS This gives applications full control over how these threads are created and managed The new APIs are available only in C C 1 27 New TypeSupport Operations in Built i
28. lues for dynamically_allocate_fragmented_samples and max_fragments_per_sample in the DataReaderResourceLimitsQosPolicy and DDS_Built inTopicReaderResourceLimits_t have changed 22 1 53 Ability to Extend Internal CdrInputStream and CdrOutputStream Classes by Inheritance in Java e The default value for dynamically_allocate_fragmented_samples has changed from FALSE to TRUE in the DataReaderResourceLimitsQosPolicy it was already TRUE by default in DDS_Built inTopicReaderResourceLimits_t e The default value for max_fragments_per_sample has changed from 512 to unlimited in both the DataReaderResourceLimitsQosPolicy and the DDS_BuiltinTopicReaderResourceLimits t These changes have been made in order to provide a better out of the box experience By default the mid dleware will no longer allocate memory up front for storing fragments instead it will allocate memory from the heap when it receives the first fragment of a new sample 1 53 Ability to Extend Internal CdrinputStream and CdrOutputStream Classes by Inheritance in Java The internal classes CdrInputStream and CdrOutputStream no longer include the final modifier This change allows you to extend these classes by inheritance The type plugin deserialization and serialization functions use these classes to read and write from to the CDR buffer You can extend their behavior by inheriting from them This is an advanced undocumented use case 1 54 Warning Logged when Setting
29. n DDS_WriteParams_t and Samplelnfo There are new fields in DDS_WriteParams t which is used by the write_w_params operation related_reader_guid source_guid and related_source_guid There are corresponding new fields in DDS_SampleInfo which is available when you read take samples related_subscription_guid source_guid and related_source_guid 1 42 2 related_reader_guid and related_subscription_guid The value of the related_reader_guid field identifies a DataReader that is logically related to the sample that is being written A DataReader can inspect the related_reader_guid of a received sample by inspecting the content of the related_subscription_guid field in the SampleInfo structure The main use case for this field is point to point sample distribution using ContentFilteredTopics DataReaders install a ContentFilteredTopic on this metadata field using a unique GUID For example related_reader guid value amp hex 00000000000000000000000000000001 Then a DataWriter that wants to send the sample to DataReader n will call write_w_params and set the field related_reader_guid in DDS WriteParams tto the value used by DataReader n in its filter expression RTI Queuing Service uses this field to distribute a sample to only one of the Consumer s DataReaders attached to a SharedReaderQueue 1 42 3 source guid and related source guid For more information see the RTI Connext DDS Core Libraries User s Manual Table 6 16 DDS _ Wr
30. n Types to Serialize Sample into Buffer and Deserialize Sample from Buffer This release provides two new TypeSupport operations in the Built in Types to serialize a sample into a buffer and deserialize a sample from a buffer The sample serialization deserialization uses CDR rep resentation This feature is supported in the following languages C C Java and NET For example for the Octets built in type these operations are C DDS OGtetsiypesugpore Seirialize Ceta to Cor lowutirew oo DDS Oetetsitypesua core Cessrilelize Carte Tron eCie orrera aa C DDGS SOCESS UT VOSSUPOORES SSerialize Cata to Edr lowitiei oso DDS OctetsTypeSupport deserialize data from cdr buffer Java import com rti dds type builtin BytesTypeSupport EWES I WOOSUISOOINE GSE inSicemies serielizs T9 Ceke lowe eeie aoa DVESS IVOSSUPOOIIE CSc instanc deserialize from cdr lowMirtSie hoaa C CLI DDS BytesLypesupport serialize data to cdr buktrer DDS BytesTypeSupport deserialize data from cdr buffer C 1 28 New DynamicData Operations to Serialize Sample into Buffer and Deserialize Sample from Buffer WSiLiney WIS 7 BytesTypeSupport serialize data to cdr buffer BytesTypeSupport deserialize data from cdr buffer 1 28 New DynamicData Operations to Serialize Sample into Buffer and Deserialize Sample from Buffer C C APIs Only This release provides two new DynamicData
31. next DDS Core Libraries User s Manual Section 5 4 8 Custom Content Filters and the API Reference HTML documentation 1 9 Improved Liveliness QoS Policy Behavior 1 9 Improved Liveliness QoS Policy Behavior This release introduces changes to the LivelinessQosPolicy behavior to make it more robust and con figurable In particular this release introduces two main changes to Liveliness e The LivelinessQosPolicy has a new field assertions _per_lease_duration This parameter allows you to configure the rate at which assertions are sent to remote entities when the liveliness kind is DDS_AUTOMATIC_LIVELINESS QOS For details see the RTI Connext DDS Core Libraries User s Manual Section 6 5 13 LIVELINESS QosPolicy e Liveliness assertion messages are now sent using best effort reliability instead of using reliable reli ability This change makes liveliness assertions more predictable and easier to configure It is possible to go back to the old behavior by using the field participant_message_reader_reli ability_kind in the DomainParticipant s DiscoveryConfigQosPolicy To ensure backward com patibility with previous releases the participant will automatically switch back to Reliable Liveliness messages when communicating with a DDS Participant from a version prior to 5 2 0 For details see the RTI Connext DDS Core Libraries User s Manual Section 8 5 3 DISCOVERY _ CONFIG QosPolicy DDS Extension 1 10 Support for Unbounded Built in Typ
32. nsiderations for Ignored Entities and the API Reference HTML documentation 1 34 Ability to Retrieve PropertyQosPolicy Values for Remote Entities Outside of Built In Topic Callbacks In previous releases the only way to retrieve the PropertyQosPolicy value of a remote entity DataWriter DataReader DomainParticipant was within corresponding built in topic callbacks In this release the properties can be retrieved at any time by invoking the DataWriter s get_matched_sub scription_data the DataReader s get_matched_subscription_data and the DomainParticipant s get_discovered_participant_data operations 1 35 Exception Messages now include Underlying Errors JAVA Net C APIs Only Previously when the Java Net or C APIs threw an exception the exception message was empty Now those messages will include the underlying errors 1 36 Host ID Automatically Generated when no IP Addresses Available Starting with this release when no interface IP addresses are available the host ID will be automatically generated by configuring the WireProtocol QoS policy s rtps_host_id to DDS_RTPS AUTO ID 1 37 New API to Get Serialized Size for a Given TypeObject A new API get_type_object_serialized_size Q for a TypeCode allows you to get the serialized size of the TypeObject The default buffer size used for storing a TypeObject is 3 072 bytes For a larger TypeOb ject this API can be used to determine the size that needs
33. on 7 4 Using DataReaders to Access Data Read amp Take Buildable source code examples are available from the RTI Community Portal https community rti com kb modern c api code examples 1 7 Changes to Connext DDS Java Packaging on Windows Platforms In previous releases of Connext DDS all Java applications for Windows platforms depended on the Visual Studio 2005 libraries regardless of which Windows platform bundle you installed In this release the version of Visual Studio libraries that the Connext DDS Java library depends on is based on the specific Visual Studio version noted in the Platform Notes for your Windows target archi tecture as long as the correct version of Connext DDS libraries path is in your PATH environment vari able To debug with the debug version of a Connext DDS DLL you still need to have the full Visual Studio package installed on your system Otherwise you only need the Visual Studio Redistributable C lib raries installed 1 8 Support for Custom Content Filters in NET API This release adds support for custom content filters in the NET API To implement a custom filter create a class that implements one of the following interfaces e IContentFilter This is the minimum API that must be implemented by a custom filter e IWriterContentFilter This interface provides a set of APIs that allows you to implement scalable fil ters on the DataWriter side For more information please see the RTI Con
34. putStream and CdrOutputStream Classes by Inheritance in Java 1 54 Warming Logged when Setting Non NULL Listener with STATUS MASK NONE 1 55 Java Libraries Tested with Java 1 8 1S6 Deprecated Platforms Aurias oo eek oe noord Aes ete Stoll ides fered cose bat ase be hs 1 57 Sparse Value Types Deprecated oo llc cece cece cece eee cece eee ceeeeeeeceeeeceeeeneeeeeeeseeees 1 58 Separate Documentation for Code Generator 2 2222 e eee Chapter 1 What s New in 5 2 0 This document highlights new features and improvements For details on fixed bugs please see the RTI Connext DDS Core Libraries Release Notes 1 1 New Platforms This release adds support for the following target platforms Table 1 1 New Platforms RTI Architecture Operating System Compiler or SDK Abbreviation POWER class 32 bit mode IBM xIC r for AIX v12 1 p7AIX7 1xlc12 1 Android 2 3 4 4 Java Platform Standard Edition armv7aA ndroid2 3gcc4 8 JDK 1 7 or 1 8 p4080Inty 1 1 devtree fsl pat 500mc comp2012 1 INTEGRITY 11 0 4 p4080Inty 1 1 devtree fs1 Multi 6 l 4 e500mc comp2013 5 4 x86 Multi 6 1 4 pentiumInty 1 1 pcx86 smp Mac OS X 10 10 x64 clang 6 0 x64Darwinclang6 0 x86 gce 4 4 5 i86Linux2 6gcc4 4 5 Red Hat Enterprise Linux 6 5 x64 gcc 4 4 5 x64Linux2 6gcc4 4 5 Table 1 1 New Platforms Operating System Compiler or SDK Red Hat Enterprise Linux 7 0 gce 4 8 2 SUSE Linux Enterprise Server 11 SP3
35. riters and DataReaders too Also the TransportPriorityQosPolicy has been added to the DataReaderQos to configure the transport priority of all messages sent from user cre ated DataReaders The TransportPriorityQosPolicy is only supported on a subset of the available platforms please refer to the RTI Connext DDS Core Libraries Platform Notes for which platforms support this QoS policy 1 44 Improved Content Filter Evaluation Performance for Types Containing Sequences and Unions ContentFilteredTopics containing sequences with a large maximum length or complex unions evaluate much faster than in the previous release 5 1 0 20 1 45 Improved Memory Usage of Content Filters of Types Containing Strings In Some Cases Before the maximum length of the sequence determined the order of complexity of the filtering algorithm now the actual length of each sample determines the order of complexity As for unions the complexity now depends on the currently selected member instead of the most complex one as happened before This performance improvement applies to the following situations e Applications using DynamicDataReaders e Java applications e Content filters in Routing Service C C and NET rtiddsgen generated DataReaders were not affected 1 45 Improved Memory Usage of Content Filters of Types Containing Strings In Some Cases ContentFilteredTopics containing strings with a large maximum length consume less memory now note
36. ssage for the longest time When a remote DomainParticipant is replaced in the ignore table it becomes un ignored Thus the DomainParticipant would have to call to ignore_participant again to re ignore the replaced entity Note that in this release ignored publications and subscriptions are never replaced in the ignore table Since this table also contains the ignored DomainParticipants a call to ignore_participant will fail if ignored_entity_allocation max_count is reached and none of the ignored entities is a DomainParticipant The following XML snippet shows how to configure the new replacement policy lt qos profile name IgnoredEntityReplacement Profile gt lt participant_qos gt lt resioumee lines gt lt ignored entity replacement _kind gt NOT ALIVE FIRST IGNORED ENTITY REPLACEMENT lt ignored entity replacement _kind gt lt Very restrictive example only 1 ignored entity allowed gt lt ignored_ entity allocation gt lt initial count gt 1 lt initial count gt 1 34 Ability to Retrieve PropertyQosPolicy Values for Remote Entities Outside of Built In Topic lt incremental count gt 0 lt incremental count gt lt max_count gt 1 lt max_count gt lt ignored_ entity allocation gt lt resource limits gt lt participant_gos gt lt qos_profile gt For more information please see the RTI Connext DDS Core Libraries User s Manual Section 16 4 4 Resource Limits Co
37. stributed Logger now Part of Connext DDS Bundle Libraries for Monitoring and Distributed Logger are now shipped as part of the Connext DDS bundle Everyone who has access to the Connext DDS core libraries now also has access to the Monitoring and Distributed Logger libraries you no longer need to install separate bundles to obtain these libraries 1 49 Priority Inheritance used when Creating Semaphores on VxWorks Platforms Starting with Connext DDS 5 2 0 semaphores are created with priority inheritance on VxWorks Plat forms 1 50 New Default Value for DiscoveryConfig Built in Writer autopurge_unregistered_instances_delay The default value for autopurge_unregistered_instances_delay in the DiscoveryConfigQosPolicy s publication_writer_data_lifecycle and subscription_writer_data_lifecycle fields has been changed from an INFINITE duration to 0 This new default eliminates a possible unbounded memory growth in applications where DataWriters may enter and exit a system frequently 1 51 New Default Value for DDS_DynamicProperty_t s buffer_max_ size The default setting for the DynamicData property buffer_max_size has changed from 65 536 to DDS _ LENGTH_UNLIMITED in order to provide a better out of the box experience The old setting did not work with samples greater than 65 KB 1 52 New Defaults for DataReaderResourceLimits dynamically_ allocate_fragmented_samples and max_fragments_per_sample Starting with Connext DDS5 2 0 the default va
38. tcpl user timeout lt name gt lt value gt 5 lt value gt lt propagate gt false lt propagate gt lt element gt 1 15 TCP Transport s keep_alive_time Property Now Supported on Mac Platforms This release adds support on Mac platforms for the TCP transport property keep_alive_time see Table 36 1 Properties for NDDS_Transport_TCPv4_Property_t in the RTI Connext Core Libraries User s Manual This property was previously only available for Linux platforms 1 16 Improved TCP Transport Plugin Robustness Against Unexpected Control Messages In previous releases the TCP Transport plugin would shutdown upon receipt of an unexpected control message In this release the TCP Transport plugin is more robust In particular if the plugin receives an unexpected control message it will print an error message and close the associated connection but it will not trigger a shutdown 1 17 Logging Level for TCP Transport Windows IOCP Connection Reset Errors Changed from Exception to Warning When enabling IOCP monitoring with the property socket_monitoring_kind the TCP Transport plugin logging was too verbose when reporting disconnection errors like the following NDDS Transport TCP SocketGroup_waitForCompletionPacket error returned by GetQueuedCompletionStatus in SocketGroup wait issuing recvZero errno 10054 An existing connection was forcibly closed by the remote host In this release the logging verbosity for those errors has
39. the keep alive or user timeout features For details see the RTI Connext DDS Core Libraries User s Manual s section on TCP TLS Transport Properties Enabling this feature will break backward compatibility with TCP Transport plugins that do not include this feature To enable this feature use the connection_liveliness property as in the following example lt element gt lt name gt dds ExaAMSPOLE TCPY4 tecol commection livelimess emalol lt name gt lt value gt 1 lt value gt lt propagate gt false lt propagate gt lt element gt 1 13 Full Support for Windows I O Completion Ports with TLS Connext DDS 5 1 0 added partial support of Windows I O Completion Ports when using the TLS trans port In particular the force_asynchronous_send property was not supported This release provides full support of Windows I O Completion Ports Now you can enable force_asyn chronous_send while using the TLS transport with Windows I O Completion Ports socket monitoring 1 14 Added TCP USER TIMEOUT Support to Linux Architectures 1 14 Added TCP USER TIMEOUT Support to Linux Architectures The TCP Transport plugin now supports the Linux OS s TCP User Timeout socket option For details please see the RTI Connext DDS Core Libraries User s Manual s section on TCP TLS Transport Prop erties This new feature can be enabled through the user_timeout property as in the following example lt element gt lt name gt dds transport TCPv4

Download Pdf Manuals

image

Related Search

Related Contents

Cooler Master HAF X  Toshiba Portégé Z935-ST3N01  Workshop NBB Rekenprogramma Troubleshooting  取扱説明書 PDFダウンロード  Cannon 10545G Oven User Manual  Les bilans de responsabilité sociale de Loto  EET 1131 Lab #4 Introduction to Quartus II Software  Revised SRDH Tender Document Dated 12-11-2013  

Copyright © All rights reserved.
Failed to retrieve file