Skip to content

Release v1.7.0#304

Merged
richiware merged 74 commits intomasterfrom
release/1.7.0
Dec 5, 2018
Merged

Release v1.7.0#304
richiware merged 74 commits intomasterfrom
release/1.7.0

Conversation

@MiguelCompany
Copy link
Copy Markdown
Member

@MiguelCompany MiguelCompany commented Nov 8, 2018

Main new features:

  • TCP transport
  • Dynamic types (XTYPES 1.1)
  • Security 1.1

richiware and others added 30 commits July 2, 2018 12:04
17e21e6f Merge branch 'feature/vs2017' into 'master'
75479759 Updated cmake/common
1a597d21 Refactoring on cmake files
06125198 Merge branch 'feature/epro-lib-options' into 'master'
c67faa53 Updating rpcdds to fastrtps 1.6.0
0b1b7769 Merge branch 'feature/update_gtest' into 'master'
e7a8cf75 Added old behaviour with dependencies in gtest
bcb1c9c4 add thirdparty directory to CMAKE_REFIX_PATH only if THIRDPARTY option is specified
d43a9878 Refs #3010. Fixing windows installer.
f7b5146f Updates for NDK 17.
2a493f59 Refs #3009. Fixing errors creating linux installer

git-subtree-dir: cmake/common
git-subtree-split: 17e21e6f9e26be6e19e0aed7d496ca308144224d
Fixed compilation error after merge master branch with develop branch.
* Refs #3271. Hotfix Github #245 Parser fails on id_range if 'min' tag present but not 'max' tag (#252)

* Refs #3139. Added topic profile support.
* Refs #3155. Added AllocationTestExample.

* CDRMessage_t wrapping SerializedPayload_t

* Avoiding dynamic creation of mutex on CDRMessagePool

* Optimizations on RTPSMessageCreator

* Optimizations on RTPSMessageGroup

* Avoiding dynamic creation of mutex on CacheChangePool

* Optimizations on ReaderProxy

* Best-effort writer improved

* Improving acknacks

* Avoiding copy on RTPSParticipant::getRTPSParticipantAttributes

* Avoid dinamic creation of bitmap when serializing a SequenceNumberSet_t

* Removed unused class QosList

* Avoid string copy on some getters

* Improvments on RTPSParticipantDiscoveryInfo

* Improving CDRMessage::readString

* Fixed stupid string creation

* Removing remote_guids from ReaderLocator

* Refs #3383. Addressed review comments.
* RTPSMessageGroup inline documentation
* New ctor on RTPSMessageGroup
* Indentation with tabs fixed

* Refs #3383. Fixing inline documentation.

* Refs #3383. Moved AllocationTest to profiling folder
* Refs #2920 - Separate the cdr buffer from the message receives to set it into the socket infos.

* Refs #2920 - Update the binding method for remote locators during the TCP negotiation.

* Refs #2920 - Create socketinfo.cpp with the implemented methods from the header file.

* Refs #2920 Updated receivers management to store them in a map for future connections.

* Refs #2920 Fix UDP refactoring issues

* Refs #2928 - Add TCP types to the XML Parser
- Update TCP transport to fix an issue opening output channels over an input socket.

* Refs #2928 - Remove the shared pointers from the Socket Infos

* Refs #2928 - Remove shared pointers from several mutex on socket info

* Refs #2928 - Remove the shared pointers for TCP acceptors and update the hello world initialization for UDP.

* Refs #2926

* Refs #2927 Only BindConnection adapted

* Refs #2927 Payload usage

* Refs #2927 Payload not used in headers. Size fixed.

* Refs #2927 TCP Control Messages uses Cdr, but they are not using idl's union types yet.
OpenLogicalPort negociation seems to work fine, redirection maybe not.

* Refs #2928 - Adapt TCPv4 Transport without the ASIO_HAS_MOVE Macro for Android Devices.
- Update project configuration to build fastrtps with fastcdr in Windows

* Refs #2928 - Fix Compilation issue.

* Refs #2927 Using Payload directly.

* Refs #2927 Changed how buffer size is allocated.

* Refs #2928 - Fix compilation warnings

* Refs #2927

* Refs #2927 OpenLogicalPort mechanism

* Refs #2928 Unify the input logical ports management.

* Refs #2928 Fix issue with the Participant discovery

* Refs #2927

* Refs #2927

* Refs #2934 HelloWorldExample to HelloWorldExampleTCP and original HelloWorldExample recovered

* Refs #2928 - Create Unit tests for TCPV4 Transport

* Refs #2936 GTests compile. Some transport test need to be adapted.

* Refs #2934 - HelloWorldTCP

* Refs #2939 and #2940. Removed shared_ptr. SenderResource now has a pointer to the socket.

* Refs #2938 -Refactor all the resources creation to force writers and readers to create the resources that they need.

* Refs #2938 - Commit pending changes

* Refs #2939

* Refs #2938 Update sockets destruction to manage them asynchronously

* Refs #2938 Adapt UDP protocol to the new initialization of the Participants

* Refs #2938 - Update the retry system for ports creation.

* Refs #2944 Bug fixes

* Refs #2944

* Refs #2938 Fix several issues with the TCP communication
- Fix crash with the logger when the application is killed

* Refs #2944

* Refs #2944 Improved performance and thread-safe for standard log consumer.

* Refs #2944 More log options

* Refs #2938 Fix issue if the publisher is launched before the subscriber

* Refs #2938. Remove debug checking

* Refs #2944 log filtering

* Refs #2944 Fixed multiple subscribers.

* Refs #2938. Update the initialization of SenderResources and ReceiverResources in the ParticipantImpl
- Create test_TCPV4Transport

* Refs #2944 Fixed several subscribers and one left before publisher ends.

* Refs #2944 Several fixes.

* Refs #2948. Create Test_RTCPMessageManager to test errors during the TCP communication.

* Refs #2948. Fix compilation warnings

* Refs #2958 WAN support. HelloworldExampleTCP with best effort.

* Refs #2969 Update RTCP messages management adding several security checks.

* Refs #2934

* Refs #2969 Fix a race condition while a subscriber closes the connection with the publisher.
- Refactor several classes with the new coding style

* Refs #2934 Fixed configuration for retrieve missing messages.

* Refs #2969 - Create a timedEvent to clean the deleted sockets of the TCP Transport.
- Update copyright year in several files

* Refs #2969 Fix issue with the release of a timer in the tcp transport

* Refs #2974 Fixed dirty disconnections.

* Refs #2934 Helloworld with samples doesn't wait for enter.

* Refs #2969 - Fix error when the publisher stops without unmatching.

* Refs #2974 - Update the documentation and remove unnecessary variables.

* Refs #2974 Update the documentation about TCP transport

* Refs #2947 Remove the DefaultOutputLocator List because we don't need it in the new design

* Refs #2974. Refactor the output locators management changing them for remote locators.

* Refs #2974 Rename SocketInfo class for ChannelResource

* Refs #2974. Fix an issue with the optimization of the SenderResource<->ChannelResource relationship.

* Refs #2974 Update and fix several errors in the unit tests

* Refs #2973 XML parser adapted to parse xml node.

* Refs #2974. - Fix an issue opening an output logical port in the publisher side.

* Refs #3024. Update the first implementation of TCPv6 Transport.

* Refs #2974. Add extra checking before adding a logical port to open.

* Refs #2974. Fix an issue with the discovering process. ( Pending Logical Ports )

* Refs #2936 Fixed test and example compilation. Added MockReceiverResource.

* Refs #2936 Transport tests adapted. Two tests commented.

* Refs #3029. Implement transport parsing from XML files.

* Refs #2936 Fixed warning in release (Jenkins)

* Refs #2974. Fix Race condition during the destruction of a UDP transport.

* Refs #3029. Update the parsing method for Locators to support TCPv4 and IP6 addresses

* Refs #2936 Fixed XMLparser tests cmake

* Refs #2974 Add a new method to move the logical ports between channels if the connection is lost and we need to create a new one.

* Refs #2974. Create a security method to open a logical port if it's close during a send.

* Refs #2974. Create a security method to open a logical port if it's close during a send.

* Refs #2936 Test fixing and createParticipant added bool for IS.

* Refs #2936 Performance tests.

* Refs #2936 Profiling tests compile again.

* Refs #3034. Update the output channel creation to send the size of the buffer that could be created.

* Refs #3034. Create a new example benchmark to check how many messages can be sent with several configurations

* Refs #2936 Test compatibility.

* Refs #3034 Fixes for linux

* Refs #3034 Anouncement period to 1s

* Refs #2974 Testing avoid memcpy in send/recv.

* Refs #2974 IPv6 versions

* Refs #3034. Fix small issues in the benchmark.

* Refs #3034 Fix issue with TCP transports and Best Effort configuration

* Refs #2974 Restored Log header

* Refs #2974 Added asio directory

* Refs #3037 Close Socket now waits until all writers/readers closed it.

* Refs #3034 Fix compilation warnings.

* Refs #3034 Add an extra try-catch to manage an edge case

* Refs #3034. Remove the historic in the subscriber to avoid fails during the second test

* Rebase in process. Solving issues.

* Merge

* Refs #2975. Fix compilation warnings

* Refs #2975

* Refs #2975. Fix running issue on UDP4 & UDP6

* Refs #2975. update header files.

* Refs #2975

* Refs #2975 Update OpenExtraOuputChannel method to remove a variable by reference

* Refs #2975 Debugging

* Refs #2975. Fix possible issue with buffer sizes.

* Refs #2975. Refactor ChannelResource Classes

* Refs #2975 Fix compilation issues with asio

* Refs #2975 Update include relationships

* Refs #2975. Fix compilation warning

* Refs #2975 Valgrind fixing

* Refs #2975 Valgrind fixes

* Refs #2975 Split in different header files the transports and their descriptors.

* Refs #2975 Fix issues on NetworkFactoryTests

* Refs #2975 TCPv6 updated

* Refs #2975 Added TCPv6Tests

* Refs #2975 Added TCPv6Tests

* Refs #2975 Network factory

* Refs #2975. Update XML unit tests with moc transports

* Refs #2975 Warnings fixed

* Refs #3076. Fix test issue with the test_updv4 transport

* Refs #3076. Fix compilation warnings on NetworkFactory Tests.

* Refs #3076 Fixed Warnings.

* Refs #3076. Fix compilation issues on Transport tests

* Refs #3076. Fill several methods of moc Receiver Resource

* Refs #3076 Fixing tests

* Refs #3076. Fix TCP tests on Windows

* Refs #3076. Apply memory fix to UPD transports

* Refs #3076. Adapt test on Blackbox to use the new UDP transport descriptors

* Refs #3076 Fixed IPv6 :D

* Refs #3076 Fixed misleading-indentation warnings.

* Refs #3076 Fixed lack of brackets

* Refs #3076 Fix compilation warnings with HAVE_SECURITY

* Refs #3076 Fix compilation warnings with HAVE_SECURITY

* Refs #3076 Fix compilation warnings on VS2013

* Refs #3076 Fix compilation warnings with HAVE_SECURITY

* Refs #3076 Jenkins fixed

* Refs #3076 Fixing Jenkins

* Refs #3076 Clang warnings.

* Refs #3076 Clang warnings.

* Refs #2084 Refactor TCP transports to unify the common code in a parent class.

* Refs #3084. Fix merge issue

* Refs #3076 Anonymous unions named to avoid clang warnings.

* Refs #3084. Create a base class to merge the common code of UDP transports

* Refs #3076 Fixed warning (unused define)

* Refs #3076 Fixed reconnection due to refactor.

* Refs #3076 Disable two tests on TCPv6 because they can't be executed over the same machine.

* #3076. Fix issue with security

* Refs #3076. Fix issue with security tests
Refactor UDPv4 transport to unify the ouput sockets management.

* Refs #3076. Refactor UDPv6 transport to unify the ouput sockets management.

* Refs #3084. Adapt the protocol creations for each TCP transport

* Refs #3084. Merge all the common code between UDPv4 and UDPv6 in UDPTransportInterface

* Refs #3084. Refactor the method "OpenAndBindOutputSockets" for UDPv4 and UDPv6

* Refs #3076. Update one method to work with VS2013

* Refs #3076. Fix an issue with the Log in VS2013

* Refs #3076 Warning pedantic ";"

* Refs #3076 Fixed Blackbox tests when terminating Log.

* Refs #3076. Adapt TCP sockets management for VS2013.

* Refs #3076. Adapt TCP sockets management for VS2013.

* Refs #3076. Update the fix for the Log system to work with VS2013

* Refs #3085 Fix small issue during the TCP unit tests

* Refs #3204. Fix an issue with a string copy in a method of UDP transports

* Refs #3265 Comment uncompleted code that make crashes with TCP connections

* Refs #3267. Implement some modifications from the merge request

* Refs #3267. Restore removed code to override operators with ProtocolVersion Struct

* Refs #3262. Fixing compilation errors introduced by rebase

* Refs #3262 Changes due to comments on GitHub

* Refs #3375. Refactor with new SocketTransportDescriptor

* Refs #3373 WIP Locator refactor

* Refs #3085 Fix small issue during the TCP unit tests

# Conflicts:
#	src/cpp/transport/TCPTransportInterface.cpp
#	test/unittest/transport/TCPv4Tests.cpp

* Refs #3229 Fixed new GCC8 warnings

# Conflicts:
#	src/cpp/transport/tcp/RTCPMessageManager.cpp

* Refs #3265 Comment uncompleted code that make crashes with TCP connections

# Conflicts:
#	include/fastrtps/transport/TCPChannelResource.h
#	src/cpp/transport/TCPTransportInterface.cpp

* Refs #3265 Fixes warning with GCC8

# Conflicts:
#	examples/C++/Benchmark/BenchmarkSubscriber.h

* Refs #3231 Fixes

# Conflicts:
#	examples/C++/Benchmark/BenchmarkSubscriber.cpp
#	src/cpp/rtps/participant/RTPSParticipantImpl.cpp

* Merge branch 'DynamicTypes1.2' of https://192.168.1.4/LuisGasco/fastrtps into DynamicTypes1.2

# Conflicts:
#	src/cpp/rtps/participant/RTPSParticipantImpl.cpp

* Refs #3268 WIP Traces for Shapes Demo

# Conflicts:
#	src/cpp/rtps/participant/RTPSParticipantImpl.cpp

* Refs #3268 Logical Ports automatically calculated and added base negotiation on TCP if user left them as 0.

* Refs #3268 Changed logical ports's logic to match UDP domain's port logic.

# Conflicts:
#	examples/C++/HelloWorldExampleTCP/HelloWorldPublisher.cpp
#	examples/C++/HelloWorldExampleTCP/HelloWorldSubscriber.cpp
#	examples/C++/HelloWorldExampleTCP/HelloWorld_main.cpp
#	src/cpp/rtps/participant/RTPSParticipantImpl.cpp

* Refs #3274 Added Blackbox tests for TCP and Domain's ports logic.
Added timestamp to Stdout Log

* Refs #3371 TCP Commits added again (lost because they were added on dynamic types branch).

* #3371 TCP cherry picking verification and testing

* Refs #3396 WIP Refactor moving Locator configuration to transports.

* Refs #3396 RTPSParticpantImpl refactor. Now transports are responsible of their locators.

* Refs #3396 Iterate through all available transport and don't stop on first compatible.

* Refs #3378. Input channels have pointer to new TransportReceiverInterface

* Refs #3378. Updating tests

* Refs #3378. Fixed move constructor of ReceiverResource.

* Refs #3378. Fixing segfault on TCPChannelResource dtor

* Refs #3378 Fixed warning and memory leak.

* Refs #3378 Fixed compilation issues on Windows. FastCDR now links dynamically on transport tests. Tens of warning happens after include GTEST_LINKED_AS_SHARED...

* Refs #3378 Remove unnecessary macro that breaks the compilation on Windows

* Refs #3378 Fixed tests and discovery in TCP due to refactor.

* Refs #3378 Refined blackbox tests.

* Refs #3378. Minor improvements.

* Refs #3378. Fixing errors on tests with security enabled.

* Refs #3378. Fixing valgrind errors.

* Refs #3378. Fixing compile error on example.

* Refs #3378. Removing unnecessary buffer on MessageReceiver.

* Refs #3378 Fixing valgrind issues.

* Refs #3378 Fixing valgrind issues.

* Refs #3371. Refactor IPLocator::createLocator to avoid allocation

* Refs #3413.
* Compare full address on compareAddressAndPhysicalPort
* Removed metadata_logical_port
* Fixed possible race condition on TCPChannelResource

* Refs #3413 WIP: Unified ChannelResource lists. Removed some unused/trivial lists. Changed Receive method to return the remote locator instead only the destination logical port.
TODO:
Currrently close channels must be broken, it didn't check if there are more locators in the map to the same channel.
LogicalPorts managements can be broken as well.

* Refs #3413 WIP: Removed mBoundOutputSockets map and uses mChannelResources instead.
TODO:
Currrently close channels must be broken, it didn't check if there are more locators in the map to the same channel.
LogicalPorts managements can be broken as well.

* Refs #3413 WIP: Changed behaviour of OpenOutputChannel and removed ReceiversResources map from channel resources.
TODO:
Currrently close channels must be broken, it didn't check if there are more locators in the map to the same channel.
LogicalPorts managements can be broken as well.

* Refs #3413 WIP: LogicalPorts management fixed.
TODO:
Currrently close channels must be broken, it didn't check if there are more locators in the map to the same channel.

* Refs #3413. Acceptor is not created in OpenInputChannel

* Refs #3413. [WIP] Refactor of TCPConnector

* Refs #3413. TCP doesn't AddDefaultOutputLocator anymore. IsOutputChannelOpen now checks if the asked logical port was added to the existing channel resource.

* Refs #3413. BindConnection recovered

* Refs #3413. Merge completed.

* Refs #3413. TCPConnector responsibility changed to TCPChannelResource

* Refs #3413. Fixed gcc errors and added new ChannelResource methods.

* Refs #3413. Lost connection is retried. TODO: Set all logical ports as pending when connection is lost

* Refs #3413. LogicalPort management changed to reflect new design.

* Refs #3413. Added CopyPendingPortsFrom method and all opened ports are marked as pending on disconnect.

* Refs #3413. Informing channel resources of closed input port

* Refs #3413. Reconnection replaces channel resource on map.

* Refs #3413. Physical port at fill methods

* Refs #3413. Fixing condition on ConnectionLost

* Refs #3413. Channel resource fully owns the physical socket. Some other minor changes and bugfixes.

* Refs #3413. Don't sent close logical ports if connection isn't bound. Mutex on mReceiverResources. Clean unused methods.

* Refs #3413. Fixed double free.

* Refs #3413. Fixed double free due to bug.

* Refs #3413. Wait for negotiation restored.

* Refs #3413. Fixed warnings.

* Refs #3413. Minor improvements

* Refs #3413. Allow TCP blackbox tests to run in parallel

* Refs #3413. Each transport adds its own metatraffic locators.

* Refs #3413. Fixed unused parameters warnings.

* Refs #3413. Fix bug setting logical default port for metatraffic.

* Refs #3413. Each transport adds its own default unicast locators.

* Refs #3413. New HelloWorld TCP Configuration.

* Refs #3713. Fixing TCP BlackBox tests.

* Refs #3713. Fixing TCP std::remove bad use.

* Refs #3413. Fixing errors detected by unit tests.

* Refs #3413. Fixing valgrind errors

* Refs #3413. Picked changes from develop

* Refs #3413. Fixed valgrind errors.

* Refs #3413. Fixed more valgrind errors.

* Refs #3413. Removed unused arguments.

* Refs #3413. Removed warnings.

* Refs #3413. Improve tcp blackbox tests.

* Refs #3413. Added retries if not logical port openend.

* Refs #3413. Removed unnecessary sleep.
* Refs #3443. Added equality operator for attributes.

* Refs #3533. Modified XMLParser for datawriter and datareader objects.
… the documentation file with the last specifications (#278)
* Refs #3079. Initial structure of classes for the dynamic objects.

# Conflicts:
#	src/cpp/CMakeLists.txt

# Conflicts:
#	src/cpp/CMakeLists.txt

* Refs #3079 Move some classes to another header file.

* Refs #3079. Update AnnotationDescriptor and MemberDescriptor classes.

* Refs #3079 Update the Dynamic Types Management.

* Refs #3079 Rename file DynamicTypeBuilderFactory

* Refs #3079 Rename file DynamicTypeBuilderFactory

* Refs #3079. Manage the memory on every class of dynamic types

* Refs #3079 Implement several method to modify the attributes of the Dynamic Data

* Merge branch 'dynamicTypes' of https://192.168.1.4/LuisGasco/fastrtps into dynamicTypes

* Refs #3078 TypeObject and inner classes.

* Refs #3079 Fix compilation errors on Windows.

* Refs #3078 Fixing warnings

* Refs #3079. Merge MemberId into TypesBase header file

* Refs #3079. Update Dynamic Data without DYNAMIC_TYPES_CHECKING

* Refs #3079. Remove unnecessary method from DynamicData
Add CreateData functionality
Create Unit Test file for DynamicTypes

* Refs #3079. Update DynamicData class.

* Refs #3079. Add log errors to dynamic type classes

* Refs #3079. Implement several tests for int32 and strings to test the current implementation of DynamicTypes and DynamicDatas

* Refs #3078 Adding infrastructure to generate TypeObjects from IDL.

# Conflicts:
#	thirdparty/fastcdr
#	thirdparty/idl

# Conflicts:
#	fastrtpsgen/src/com/eprosima/fastrtps/idl/templates/RTPSPubSubTypeSource.stg

* Refs #3078 Fixed warnings on gcc.

# Conflicts:
#	thirdparty/fastcdr

* Refs #3079. Implement support for ALIAS types

* Refs #3078 Compilation errors solved.

* Refs #3083. Implement support for Dynamic Sequences.
Unify the memory management for DynamicTypes and DynamicDatas on their factories.

* Refs #3083 Implement support for bitsets

* Refs #3083. Implement support for Bitmasks

* Refs #3083 Fix issues with the tests

* Refs #3083 Add a new macro to ENABLE / DISABLE the extra memory management for DynamicTypes and DynamicDatas

* Refs #3083 Refactor several method names to keep consistency.

* Refs #3083. Implement support for enums

* Refs #3083 Implement support for maps and arrays

* Refs  #3083. Implement support for structs

* Refs #3083 Implement support for Unions

* Merge branch 'dynamicTypes' of https://192.168.1.4/LuisGasco/fastrtps into dynamicTypes

# Conflicts:
#	thirdparty/fastcdr
#	thirdparty/idl

# Conflicts:
#	thirdparty/fastcdr
#	thirdparty/idl

* Refs# 3083. Update the unit tests to check the incompatibilities between the types.

* Refs #3083. Add Clone - Equals checking for every kind of DynamicType.

* Refs #3083 Generate complex tests to check recursive types ( struct with structs, alias of an alias...)

* Refs #3083. Complete remaining TODOs

# Conflicts:
#	src/cpp/rtps/participant/RTPSParticipantImpl.cpp

* Refs #3184 TypeObjectFactory and TypeIdentifier (+TypeObject) -> DynamicType conversion.

* Refs #3080. Add the new fields used by the types discovery.
Fix compilation warnings.

# Conflicts:
#	include/fastrtps/xmlparser/XMLParser.h

# Conflicts:
#	include/fastrtps/rtps/common/Types.h
#	include/fastrtps/xmlparser/XMLParser.h

* Refs #3083 Implement support for structs heritage.

* Refs #3082 Added method to get TypeObject and TypeIdentifier from TypeDescriptor.

* Refs #3082 Added parameters for TypeIdV1 and TypeObjectV1 on discovery.

* Refs  #3083 Implement the serialization and deserialization for Dynamic Types

* Refs #3184 Bug fixing

* Refs #3184 Warning fixing.

* Refs #3083. Fix compilation warnings and new dependences on the unit tests

# Conflicts:
#	test/unittest/transport/CMakeLists.txt
#	test/unittest/xmlparser/CMakeLists.txt

# Conflicts:
#	test/unittest/xmlparser/CMakeLists.txt

* Refs #3085 DynamicHelloWorldExample

* Refs #3083. Implement additional methods for bitmasks

* Refs #3082 Added TypeIdentifier discovery.

# Conflicts:
#	src/cpp/transport/TCPTransportInterface.cpp

* Refs #3085 Fix link issue on Windows.

* Refs #3082 Fixed manual setup.

* Refs #3082 DynHello

* Refs #3085. Add new test to check edge cases.

* Refs #3082 DynamicHelloWorld and some fixes.

* Refs #3080 Fixed double free due to change from object to pointer.

* Refs #3187 SetXXXValue, parameters switched

* Refs #3085. Add Tests for serialization - deserialization of the different dynamic types

# Conflicts:
#	test/unittest/dynamic_types/DynamicTypesTests.cpp

* Refs #3085 Merge Tests with previous commits

# Conflicts:
#	test/unittest/dynamic_types/DynamicTypesTests.cpp

* Refs #3085 Update tests with the same format for Sets.

* Refs #3187 Publisher using dynamic data (WIP)

* Refs #3187 WIP: Subscriber using Dynamic data and added additional GetXXXValue on DynamicData.

* Refs #3187 Added COMPLETE checking and DiscoveryKind mismatch.

* Refs #3187 Added DeleteType and DeleteData calls.

* Refs #3085. Implement the serialization for dynamic types and the related tests.

* Refs #3085. Fix compilation errors.

* Refs #3187 Added RTPS_DllAPI to TypeObject hierarchy

* Refs #3187 Dynamic Data WIP

* Refs #3085 Fix link issues with the type identifiers

* Revert "Refs #3187 Added RTPS_DllAPI to TypeObject hierarchy"

This reverts commit c452675da907e9358b5aa0a3e8841128fe54fde7.

* Refs #3085 Block the constructors of DynamicType and DynamicData to force using the factories.
Add an extra checking for structs to avoid the creation of DynamicData from DinamicTypeBuilders

* Refs #3085. Update CDR sizes calculation to fit the sizes of the IDLs.

* Refs #3187 Serialization fixed to make it compatible with IDL.

* Refs #3085 Fix issues with ARRAYS

* Refs #3085. Create an optimization for arrays where there is a "default" attribute that represents every item with the default value in the array.

* Refs #3085. Add Helper functions to reduce the lines of code needed by the users.

* Refs #3187 Added DynamicComplexTypesTest and fixing due to valgrind results.

* Refs #3187 Fixed unordered warning.

* Refs #3085 Fix issues with the new descriptor interface.

* Refs #3187 Fixing valgrind results.

* Refs #3187 Fixed double free on DynamicType deletion.

* Refs #3187 DynamicHelloWorldExample valgrind passed with all combinations.

* Refs #3085. Add new methods to ease the creation of members for a complex type.

* Refs #3187 Fixes

* Refs #3085. Add a new feature to work with unions with complex types.

* Refs #3187 Bug fixing

* Refs #3085 Update the code of the publisher and the subscriber with the latest format

* Refs #3085. Adapt wchar to uint32 after checking that linux & MacOS work like that

* Refs #3085. Adapt WSTRINGs to work with uint32_t

* Refs #3187 Fixed warning in generated code.

* Refs #3187 Fixed warning in generated code.

* Refs #3085. Adapt the Dynamic Complex Types Test to the new interface convention

# Conflicts:
#	test/unittest/dynamic_types/DynamicComplexTypesTests.cpp

* Refs #3187 Fixing Tests.

* Refs #3187 Development of TypeObject to DynamicTypeFactory preparation.

* Refs #3187 Fixing conversions methods. Added test.

* Refs #3085 Review the creation of DynamicTypes in the TypeObjectFactory

* Refs #3085. Fix compilation warning

* Refs #3193. Implement Keyed Topics for Dynamic Types.

* Refs #3187 Matching fixes

# Conflicts:
#	src/cpp/Domain.cpp
#	test/unittest/transport/CMakeLists.txt
#	test/unittest/xmlparser/CMakeLists.txt

* Refs #3187 Warning fix and test idl regeneration.

* Refs #3187 Fixed issue with long double

* Refs #3194 Added operator== for TypeIdentifier

* Refs #3194 Fixed errata on IDL

* Refs #3194. Add new unit test to check the TypeIndentifers used during the matching

* Refs #3194 Factory's destructor deletes its pointers.

* Refs #3194 Added basic types to operator==

* Refs #3194 Fixed Helloworld not calling DeleteInstance methods.

* Refs #3194. Update unit tests and create a new class to manage the memory of the builders.

* Refs #3194 Factories cleanup on stopAll

* Refs #3203 Refactor generator from IDL.

* Refs #3203 Fixed fastrtpsgen and generated file.

* Refs #3204. First step of the refactor using shared_ptrs for DynamicTypes.

# Conflicts:
#	test/unittest/transport/CMakeLists.txt

* Refs #3204. Update Complex Unit Tests to use the new interface for Dynamic Types

# Conflicts:
#	test/unittest/dynamic_types/DynamicTypesTests.cpp

* Refs #3204. Update Dynamic Tests to use the new interface for Dynamic Types

# Conflicts:
#	test/unittest/dynamic_types/DynamicTypesTests.cpp

* Refs #3204. Update Dynamic Hello World example to show the two ways to manage dynamic Types.

* Refs #3204. Adapt Dynamic Data creation for rtps historic

* Refs #3204 Create the DynamicPubSubType to optimize the memory management

# Conflicts:
#	test/unittest/transport/CMakeLists.txt

* Refs #3197 Bug fixing

* Refs #3197 Merge fixing

* Refs #3197. Merge changes

* Refs #3197 Fix memory issues in TypeObjectFactory

* Refs #3204. Fix compilation errors with the macro DISABLE_DYNAMIC_MEMORY_CHECK

* Refs #3204 Fixed memory leaks

* Refs #3204. Fix an issue with a string copy in a method of dynamic types and UDP transports

* Refs #3204 Add a new parameter to CreateCustomBuilder to set the name of the instance

* Refs #3197 Fixing DynamicType generation from TypeObject

* Refs #3197. Update several methods to avoid unnecessary copies

* Refs #3197 Fixed generating inner types as minimal

* Refs #3197 Fixing bugs

* Refs #3197 Fixing complex types on plain types.

* Refs #3197 Updated HelloWorld

* Refs #3197. Fix issues related to unions with auto generated dynamic types

* Refs #3198 DynamicType to TypeObject first attemp

* Refs #3204. Fix DynamicDataFactory desctruction method

* Refs  #3077 Partial fix one inconsistency between the serialization of IDLs and Dynamic Datas

* Refs #3197 Some refactoring after cherry-picking

* Refs #3198 Several fixes

* Refs #3216 Added Basic idl and preparing more tests.

* Refs #3077. Update unions to work like IDLs

* Refs #3216 Preparing tests

* Refs #3077. Update unions to work like IDLs

* Refs #3216 Fixed names in struct members

* Refs #3216 Fixed unreachable code warnings

* Refs #3216 Fixed long double size

* Refs #3077. Fix WString serialization

* Refs #3077 Add test to serialize every type supported by IDLs and DynamicTypes

* Refs #3221. Remove debug traces

* Refs #3216 Added size to maps

* Refs #3216 Added unions on structs

* Refs #3221. Update unit tests with more checks

* Refs #3077. Fix alingment issue with float128

* Refs #3221 Fix alignment for long double

* Refs #3221 throw in new line and between brackets

* Refs #3077. Fix issue with the serialization of byte values.

# Conflicts:
#	src/cpp/transport/tcp/TCPControlMessage.cxx

* Refs #3077. Update the dynamic Datas deletion to avoid crashes on exceptions.

* Refs #3077 Disable test because the interface doesn't support the kind of checking

* Refs #3221 Fixed unitialized TopicDiscoveryKind

* Refs #3221 Fixed discovery with minimal.

* Refs #3228. Fix DinamicPubSubType to add 4 bytes of the encoding.
- Update keys example to support more modes ( publisher only - subscriber only )

* Refs #3228 Add a Clone feature to the dynamic datas.

* Refs #3227 Fixes and regeneration of cxx files.

* Refs #3228 Update WSTRING serialization removing the '/0' because of the standard

* Refs #3227 Keyed Struct for testing

* Refs #3228 Add new methods to access to the serialized payload of the subscriber history without deserialization

* Refs #3228 Add new Methods to DynamicData to ease the management of secuences, enums and maps.

* Refs #3227 Some fixes in tests

* Refs #3228 Add new insert methods to ease the management of maps.

* Refs #3227 WIP (Test Failing)

* Refs #3228 Fix issue with enums as discriminators of union types

* Refs #3228 Fix issue getting the index of an element in a dynamic array

* Refs #3228. Update SetcomplexValue to add elements to dynamic arrays

* Refs #3227 Fix serialization issues with Aliases and Maps

* Refs #3227 Update Complex Tests to compare the serialization between static and dynamic types.

* Refs #3227 Fixed uninitialized arrays

* Refs #3227 Add shared_ptr to the custom type builder

* Refs #3227. Fix several issues cloning Dynamic Datas

* Refs #3227. Add more tests to check every combination of the complex struct

* Refs #3227. Create a shared_ptr for dynamicDatas to ease the management of dynamic datas on client side

# Conflicts:
#	test/unittest/transport/CMakeLists.txt

* Refs #3227 Added test with keys

* Refs #3227 Fix issue on Keys Test

* Refs #3227. Finish the test with keys.

* Refs #3227 update the keys test to compare the serialization of the IDLs vs Dynamic

* Refs #3229. Fix memory leak

* Refs #3227. Add a new method to clean the values removing  a compilation warning with (void*)

* Refs #3229 Add security to make the Dynamic factories thread-safe

* Refs #3229 Add methods to get the serializedPayload of the subscriber without deserialize the message

* Refs #3229 Added Methods to publish an already built SerializedPayload

* Refs  #3229 Update the method takeNextSerializedPayload

* Refs #3229 Fix payload copy during the publish process.

* Refs #3237 Create and delete keyed data on subscriber history only if the topic has key.

* Refs #3229 Fix crash during the publish of a serialized payload

* Refs #3244 Create new helper functions to block possible issues with shared_ptrs

# Conflicts:
#	src/cpp/types/DynamicData.cpp

* Refs #3263 Fixed IDL included files on TypeObject. Fixes warnings.

* Refs #3010. Fixed error generating CMakeLists.txt

# Conflicts:
#	fastrtpsgen/src/com/eprosima/fastrtps/idl/templates/CMakeLists.stg

* Refs #3263 Added argument to generate type object files.

* Refs #3265. Add management for dynamic types

# Conflicts:
#	examples/C++/Benchmark/BenchmarkPublisher.cpp
#	examples/C++/Benchmark/BenchmarkPublisher.h
#	examples/C++/Benchmark/BenchmarkSubscriber.cpp
#	examples/C++/Benchmark/BenchmarkSubscriber.h
#	examples/C++/Benchmark/Benchmark_main.cpp

* Refs #3226 Hide the destructors of the Dynamic Types to block the deletion from client side without using the factories.

* Refs #3265 Fixes on benchmark and TypeNamesGenerator.

* Refs #3267. Restore removed code to override operators with ProtocolVersion Struct

# Conflicts:
#	include/fastrtps/rtps/common/Types.h

* Refs #3267. Implement some modifications from the merge request

# Conflicts:
#	include/fastrtps/attributes/PublisherAttributes.h
#	include/fastrtps/attributes/SubscriberAttributes.h
#	include/fastrtps/rtps/attributes/RTPSParticipantAttributes.h
#	include/fastrtps/rtps/common/Locator.h

# Conflicts:
#	include/fastrtps/rtps/common/Types.h

* Refs #3267. Implement some modifications from the merge request

* Refs #3267 Fixed error on parser (due to merge?)

* Refs #3276
Revert "Refs #3229 Add methods to get the serializedPayload of the subscriber without deserialize the message"

This reverts commit 85bd711b049c91667e6fbd3d4c1fdc887ebd12f3.

* Refs #3276 Unitialized key buffer.

# Conflicts:
#	fastrtpsgen/src/com/eprosima/fastrtps/idl/templates/RTPSPubSubTypeSource.stg

* Refs #3276 Unitialized key buffer.

* Refs #3287 Added mechanism to remove profiles from XMLProfileManager between tests executions.

# Conflicts:
#	include/fastrtps/xmlparser/XMLProfileManager.h

# Conflicts:
#	include/fastrtps/xmlparser/XMLProfileManager.h

* Refs #3289 Added dynamic type generation by XML

# Conflicts:
#	include/fastrtps/xmlparser/XMLParser.h
#	include/fastrtps/xmlparser/XMLProfileManager.h
#	resources/xsd/fastRTPS_profiles.xsd
#	src/cpp/xmlparser/XMLParser.cpp
#	src/cpp/xmlparser/XMLProfileManager.cpp

# Conflicts:
#	include/fastrtps/xmlparser/XMLParser.h
#	include/fastrtps/xmlparser/XMLProfileManager.h
#	src/cpp/xmlparser/XMLParser.cpp
#	src/cpp/xmlparser/XMLProfileManager.cpp

* Refs #3289 Added enum, typdef, map, and inner types as nodes instead attributes (optional) to allow complex types to dynamic type generation by XML.

* Refs #3387 Dynamic Types in its own branch

# Conflicts:
#	test/unittest/transport/CMakeLists.txt
#	test/unittest/xmlparser/CMakeLists.txt

* Refs #3371 Requested changes in GitHub

* Refs #3538 Rebase related fixes

* Refs #3538 Dynamic types merge

* Refs #3538 Regenerated files from idl as test of the merge.

* Refs #3538 PR requested changes.

* Refs #3538 Using quotes instead angled brackets.

* Refs #3538 Make DynamicHelloWorld communicate with classic HelloWorld.

* Refs #3563. Fix compilation warnings  and linking errors on Windows

* Refs #3563. Create a mocked QosPolicies to remove the dependency with Dynamictypes of the transport unittests and remove TODO comments

* Refs #3563. Fix issues with tabs.

* #3538 Rename XML Tag "transports" and "transport" for "transport_descriptors" and "transport_descriptor" to avoid misunderstandings in the XML configuration files.

* Refs #3565. Update the parsing of publishers and subscribers to use only the same level than participants, and remove the way to parse them inside of a participant

* Refs #3538 Create a releaser objects to delete the dynamic factories and fix memory leaks

* Refs #3538. Fixing compile error on a security test.

* Refs #3565 Fix compilation error after the rebase

* Refs #3565 Fixed bug

* Refs #3565 Update Mock classes to remove references to FastCDR

* Refs #3565. Fixed compilation errors.
* Refs #3577 Fix deadlock on socket destruction

* Refs #3577 Fix issue with asio closing callbacks

* Refs #3577 Fix issue during sockets closing on MacOS

* Refs #3577. Fixing warnings.

* Refs #3577. Fixing warnings.
* Refs #3614. Create a new configuration attribute for transports to set the maximum range for initial peers.

* Refs #3614 Initial Peers Range attribute fixed for tcp logical ports and new tests added.

* Refs #3614. Adding udp testing for max initial peer range.

* Refs #3614 Fixed udp test lease duration.

* Refs #3614. Removing lease duration and reording.

* Refs #3614. Fixed compilation error with security.
MiguelCompany and others added 8 commits November 14, 2018 15:27
* Refs #3539. Fixing decode of RTPS with authentication only.

* Refs #3539. Improving performance.

* Refs #3539. Allowing rtps protection on EDP.

* Refs #3539. Adding INFO_SRC submessage when needed.

* Refs #3539. Fixing alignment.
* Refs #3760. Fixed segmentation fault on security.
* Refs #3760. Fixing EDPSlave test problem.

* Refs #3760. Added new discovery callbacks.

* Refs #3760. Missing a call to listener.
* Refs #3835. Fixed change qos discovery mechanism.

* Refs #3835. Fixed warning.

* Refs #3835. Updating tests to new changes.
* Refs #3760. Fixing valgrind errors.

* Refs #3760. Fixed invalid access removing receiver in tcp.
MiguelCompany and others added 4 commits November 20, 2018 12:22
* Refs #3873 Fixed TCP max msg size and TCPv4 Tests.

* Refs #3873 PR requested changes and removed trivial autos.

* Refs #3873 TCPv4 tests fixed. Added new TCPv4 test to catch similar issues in the future.
* Refs #3760. Fixing liveliness protection builtin enpoints match

* Refs #3760. Fixing segfault on builtin liveliness protection.
@MiguelCompany MiguelCompany added the ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. label Nov 21, 2018
@MiguelCompany MiguelCompany removed the ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. label Nov 27, 2018
* Refs #3758. Not sending security info when participant is not secure.

* Refs #3758. Adapting unit tests.
@MiguelCompany MiguelCompany added the ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. label Nov 27, 2018
MiguelCompany and others added 5 commits November 28, 2018 11:45
* Refs #3758.Fixing warnings.

* Refs #3758. Fixing new warning.
* Refs #3541. Updated windows installers.

* Refs #3541. Fixed error in installer.

* Refs #3541. Fixed error in installer.

* Refs #3541. Updated company address.

* Refs #3541. Fixed error creating installer.

* Refs #3541. Fixed error generating installer config.cmake.

* Refs #3541. Updated fastcdr thirdparty.

* Update cmake/packaging/windows/InstallRedistributables.nsh

Co-Authored-By: richiware <correoricky@gmail.com>
* Refs #3539. Separate sending feature on synchronous writers.

* Refs #3539. Using sending separate on security manager writers.

* Refs #3539. Changing severity of some errors to warning.

* Refs #3539. Joining ReaderProxy locators.

* Refs #3539. Separate sending for lost changes resent.
* Refs #3539. First step.

* Refs #3539. New python scripts.

* Refs #3539. New simple communication tests.

* Refs #3539. Fixed warnings.

* Refs #3539. Removed an auto.
* Refs #4073. Added regression tests.

* Refs #4073. Binding to multicast address on non-windows systems.

* Refs #4073. Adding to map.

* Refs #4073. Fixed socket close mechanism.

* Refs #4073. Fixed generation of topic name on blackbox tests.

* Refs #4073. Fix use of udpv4 in the generic interface.

* Disabling some unit tests on mac.
@richiware richiware merged commit 6d63018 into master Dec 5, 2018
@MiguelCompany MiguelCompany deleted the release/1.7.0 branch December 19, 2018 08:59
@MiguelCompany MiguelCompany restored the release/1.7.0 branch December 19, 2018 09:57
@MiguelCompany MiguelCompany deleted the release/1.7.0 branch March 22, 2022 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Ready to be merged. CI and changes have been reviewed and approved.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants