Skip to content
Branch: master
Find file History
MiguelCompany and raquelalvarezbanos Allocation QoS [5063] (#479)
* Refs #4652. Added fields to ReaderAttributes and SubscriberAttributes.

* Refs #4652. Parsing matchedPublishersAllocation on subscriber profiles.

* Refs #4652. XSD and XMLParser unit tests updated.

* Refs #4628. Styling and tidy up.

* Refs #4650. Resource limits for StatelessReader::matched_writers_

* Refs #4651. Styling on WriterProxy

* Refs #4651. Refactoring WriterProxyLiveliness.

* Refs #4651. Refactoring InitialAckNack.

* Refs #4651. Refactoring HeartbeatResponseDelay.

* Refs #4651. Making fields of WriterProxy private.

* Refs #4651. Removing unused debug method.

* Refs #4651. Refactoring method missing_changes.

* Refs #4651. Not reinserting on changes_from_writer_.

* Refs #4651. Getting WriterProxy ready for reuse.

* Refs #4651. Reusing WriterProxy instances and controlling the pool size.

* Refs #4651. ChangeIterator alias on WriterProxy.

* Refs #4651. Fixing warnings.

* Refs #4651. Refactoring events.

* Refs #4651. Using matchedPublishersAllocation on allocations test.

* Refs #4651. Importing foonathan_memory dependency.

* Refs #4651. Using foonathan memory_pool for WriterProxy::changes_from_writer_.

* Refs #4649. Using foonathan memory_pool for RTPSReader maps.

* Refs #4652. Passing matched_publisher_allocation to matched_writers_allocation when creating subscriber.

* Refs #4653. Blackbox tests.

* Refs #4654. Forced foonathan_memory to be an external package.

* Refs #4776. Avoid segregation of locator lists on NetworkFactory.

* Refs #4654. Added colcon building dependencies.

* Refs #4776. Avoiding copies of ParticipantProxyData.

* Refs #4776. Avoiding some conversions from ReaderProxyData to RemoteReaderAttibutes.

* Refs #4776. Avoiding some conversions from WriterProxyData to RemoteWriterAttibutes.

* Refs #4776. Removing WriterProxyData::toRemoteWriterAttributes.

* Refs #4776. Removing ReaderProxyData::toRemoteReaderAttributes.

* Refs #4776. Created locator selection data structures.

* Refs #4776. Removing is_eprosima_endpoint from remote attributes.

* Refs #4824. Adding UDPv4 locator shrink tests.

* Refs #4776. Adding select_locators method to NetworkFactory.

* Refs #4776. Adding traversal methods to LocatorSelector.

* Refs #4824. Refactored version of locator shrink unit tests.

* Refs #4824. Added unit test for two list sharing unicast.

* Refs #4776. RTPSMessageGroup refactor.

* Refs #4824. Fixing NetworkFactoryTests building on Linux

* Refs #4776. Removed ApplyMutation parameter from createSenderResources

* Refs #4776. Reusing ReaderProxyData and avoiding some copies.

* Refs #4776. New data structure for RemoteLocators management.

* Refs #4776. Preallocating proxy data objects on EDPSimple.

* Refs #4776. Removing calls to ShrinkLocatorLists.

* Refs #4776. Taking updates into account on addReaderProxyData.

* Refs #4776. Optimizing remote locators when deserializing ReaderProxyData.

* Refs #4776. Added copy operator to ResourceLimitedVector.

* Refs #4776. Refactoring WriterProxyData with new remote locators management.

* Refs #4776. Preallocating proxy data objects on WLP.

* Refs #4776. Removing RemoteWriterAttributes.

* Refs #4776. Fixing Security unit tests.

* Refs #4776. Fixing WriterProxy unit tests.

* Refs #4776. Removing RemoteReaderAttributes.

* Refs #4776. Removing mAllShrinkedLocatorList.

* Refs #4776. Added allocation attributes to RTPSParticipantAttributes.

* Refs #4776. Using participant allocation attributes for ReaderProxyData.

* Refs #4776. Using participant allocation attributes for WriterProxyData.

* Refs #4776. Parsing participant allocation attributes on XML.

* Refs #4776. Fixing security unit tests

* Refs #4776. Adding locators allocation configuration to allocations profiling test.

* Refs #4776. Remove method ShrinkLocatorLists

* Refs #4776. Doxygen for RemoteLocators

* Refs #4776. Clearing ReaderProxyData inside readFromCDRMessage.

* Refs #4997. New fields added to RTPSParticipantAllocationAttributes.

* Refs #4776. Clearing WriterProxyData inside readFromCDRMessage.

* Refs #4997. New fields added to XML schema, parser and test.

* Refs #4999. Resource limited pool of ParticipantProxyData in PDPSimple.

* Refs #4999. Using participant allocation attributes for ParticipantProxyData.

* Refs #4999. Avoiding temporary ParticipantProxyData.

* Refs #5000. Configuring EDP built-in endpoints.

* Refs #5000. Configuring PDP built-in endpoints.

* Refs #5000. Configuring SecurityManager built-in endpoints.

* Refs #5000. Configuring WLP built-in endpoints.

* Refs #5000. Configuring participant allocation QoS on allocation test.

* Refs #5016. Preallocating and reusing participant lease duration event.

* Refs #4999. Using counter of created participant proxy objects.

* Refs #5001. Pool of ReaderProxyData on PDPSimple.

* Refs #5001. Configuring participant allocation QoS on allocation test.

* Refs #4765. Using const references on discovery info structures.

* Refs #5002. Pool of WriterProxyData on PDPSimple.

* Refs #5002. Configuring participant allocation QoS on allocation test.

* Refs #5019. Improving allocation test.

* Refs #5002. Fixing compilation without security.

* Refs #5052. Removed foonathan from RTPSReader.h

* Refs #5052. Moved WriterProxy.h to src/cpp.

* Refs #5053. Added foonathan_memory to Config.cmake.in

* Refs #5082. Avoiding allocations when security is not used.

Avoids the use of the extra message inside RTPSMessageGroup_t and the creation
of secure EDP endpoints when security is not configured on the participant.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs #5063. Applying suggestions and style

* Refs #5063. Let QoS be updated even when an incompatible change is received.

* Refs #5063. Updating writer information on matched_writer_add.

* Refs #5063. Fixing bug on ResourceLimitedVector assignment operator.

* Refs #5063. Updating reader information on StatelessWriter::matched_writer_add.

* Refs #5063. Updating reader information on StatefulWriter::matched_writer_add.

* Refs #5063. Calculating total number of readers and writers on PDPSimple.

* Refs #5063. Fixing tests after rebase.

* Refs #5063. Separation of code on SecurityTest.

* Refs #5063. Fixing warning when built without security.

* Refs #5063. Fixing warnings.

* Refs #5063. Fixing warnings.

* Refs #5063. Adding a comment to flush_and_reset.

* Refs #5063. Mispellings fixed.

* Refs #5063. Fixing rebase errors.

* Refs #5063. Fixing more rebase errors.

* Refs #5063. Adding helper for memory_pool block size.

* Refs #5063. Fixing helper for memory_pool block size.

* Refs #5063. Fixed spelling errors

* Refs #5063. Timer methods not called from WriterProxy constructor.

* Refs #5063. Fixing foonathan helper.

* Refs #5063. Using foonathan_memory_vendor package.

* Refs #5063. Fixing colcon.pkg

* Refs #5063. Canceling events before data.

* Refs #5063. Show OpenSSL version found.

* Refs #5063. Fixing WriterProxy::clear

* Refs #5063. Additional info on SimpleCommunication tests.

* Refs #5063. Fixing WriterProxy.

* Refs #5063. Fixing LivelinessAssertion test.

* Refs #5063. Removing undefined method.

* Refs #5063. Protecting access to temp data objects.

* Refs #5063. Addressing review comments.

* Refs #5063. WAN consideration on TCPv4Transport::select_locators.

* Refs #5063. Removed TCPv4Transport::select_locators.

* Refs #5063. Addressing review comments.

* Refs #5063. Fixing security initialization.

* Refs #5063. Preventing acknack when there are no remote guids.

* Refs #5063. Avoiding malloc on RTPSMessageGroup with security.

* Refs #5063. Protect StatefulReader destructor.

* Refs #5063 Protect full methods that use is_alive_ in StatefulReader. Added atomic-related suppressions in valgrind (helgrind).

* Non-blocking calls on readers [5498] (#545)

* Refs #5196. Subscriber's take and read now non-blocking.

* Refs #5215. Now wait for unread samples is non-blocking.

* Refs #5215. Fixed error compilation on performance tests.

* Refs #5215. Commented test for wait_for_unread_samples.

* Refs #5215. Fixed compile error after rebase.

* Refs #5215. Fixed compile error on mac.

* Refs #5215. Fixed assertion.

* Refs #5215. Fixed assertion.

* Refs #5215. Fixed compilation error on Windows.

* Refs #5215. Fixed preprocessor defines.

* Refs #5215. Fixed no wanted block on uwer thread mutex test.

* Refs #5215. Reverting mutex on destructor.

* Refs #5063. Fixed conflicts after merge

* Event mechanism with non-blocking API [5537] (#552)

* Refs #5406. First approach using a queue.

* Refs #5406. Working unit tests.

* Refs #5406. Implementation of events.

* Refs #5406. Added own time condition variable.

* Using our timedconditionvariable on reader.

* Refs #5406. Fixed compile errors after rebase.

* Refs #5406. Removed old event classes.

* Refs #5406. Fixed data race.

* Refs #5406. Fixed error calculating nanos.

* Refs #5406. Using correctly io_service::restart().

* Refs #5406. Improving performance.

* Refs #5406. Fixed compile error on mac

* Refs #5406. Fixed compile errors with security.

* Refs #5406. Fixed error in a mock.

* Refs #5406. Fixing posible miss of restart_timer() call.

* Refs #5406. Fixed unit test.

* Refs #5406. Fixed unit test.

* Refs #5406. Fixing unit tests.

* Refs #5406. fixing unit test.

* Refs #5406. Adding more verbosity to a test.

* Refs #5406. Commented problematic code (see #5595).

* Refs #5522. Updated doxygen doc.

* Refs #5406. Fixed remove of a condition in test.

* Refs #5406. Removed commented code.

* Apply suggestions from code review

Co-Authored-By: Raquel Alvarez <raquelalvarezbanos@users.noreply.github.com>

* Refs #5406. Change after code review.

* Refs #5063. Fixing CMakeLists.txt after merge.

* Refs #5063. Fixing EDPSimple after merge.

* Refs #5063. Fixing XMLParser.h after merge.

* Refs #5063. Fixing StatefulWriter after merge.

* Refs #5063. Fixing PDP after merge.

* Refs #5063. Adapting DSClientEvent to new event API.

* Refs #5063. Small change on ParticipantProxyData.

* Refs #5063. Adapting PDPServer.

* Refs #5063. Fixing PDPListener after merge.

* Refs #5063. Adapting PDPServerListener.

* Refs #5063. Guards on PDPSimple.

* Refs #5063. Adapting PDPClient.

* Refs #5063. Adapting DSServerEvent to new event API.

* Refs #5063. Adapting EDPServer.

* Refs #5063. Adapting EDPServerListeners.

* Refs #5063. Fixing WLP after merge.

* Refs #5063. Not starting lease duration event when not requested.

* Refs #5063. Fixing LivelinessManager unit test.

* Refs #5063. Fixing liveliness management on StatefulReader.

* Refs #5670. TimedMutex and TimedConditionVariable on windows

* Refs #5670. Fixed windows mutex error when nanos is negative.

* Refs #5670. Fixed compilation error on Linux.

* Refs #5670. Added time mutex impl with pthread.

* Refs #5670. Support for osx.

* Refs #5063. Fixing some tests after merge

* Refs #5063. Adding foonathan_memory_vendor to repos file

* Refs #5063.Fixing unit test after merge.

* Refs #5063.Fixing compilation on Debug mode.

* Refs #5063.Back to old communication mechanism on PDPServer and PDPClient

* Refs #5063. Fixing WriterProxy::clear()

* Refs #5063. Avoid removing own participant proxy data.

* Refs #5063. Removing data lock on PDPListener to prevent ABBA lock problems, as access to temp_participant_data_ is already protected by the reader mutex

* Refs #5063. Removing C++17 method

* Refs #5063. Fixing return values on BuiltinProtocols::initBuiltinProtocols

* Refs #5091. Fixing use of total_readers and total_writers.

* Refs #5063. Inline doc improvements.

* Refs #5063. Added useful info on ParticipantProxyData.cpp.

* Refs #5063. Addressing some review comments.

* Refs #5063. Addressing some review comments.

* Refs #5063. Addressing review comment.
Latest commit 3151291 Jul 15, 2019

README.txt

To launch this test open two different consoles:

In the first one launch: HelloWorldExampleTCP publisher (or HelloWorldExampleTCP.exe publisher on windows).
In the second one: HelloWorldExampleTCP subscriber.


This example includes additional options to show the capabilities of the TCP Transport on Fast-RPTS,
such as WAN and TLS. In this example the publisher will work as a TCP server and the subscriber as a
TCP client.

Usage: HelloWorldExampleTCP <publisher|subscriber>

General options:
  -h            --help              Produce help message.
  -t            --tls               Use TLS.

Publisher options:
  -s <num>,     --samples=<num>     Number of samples (0, default, infinite).
  -i <num>,     --interval=<num>    Time between samples in milliseconds
                                    (Default: 100).
  -a <address>, --address=<address> Public IP Address of the publisher (Default: None).
  -p <num>,     --port=<num>        Physical Port to listening incoming
                                    connections (Default: 5100).

Subscriber options:
  -a <address>, --address=<address> IP Address of the publisher (Default: 127.0.0.1).
  -p <num>,     --port=<num>        Physical Port where the publisher is
                                    listening for connections (Default: 5100).


WAN Example:

HelloWorldExampleTCP publisher -a <PUBLIC_WAN_ADDR> -p <PORT>
HelloWorldExampleTCP subscriber -a <SERVER_ADDR> -p <PORT>

    For example:
        HelloWorldExampleTCP publisher -a 80.88.150.120 -p 5500
        HelloWorldExampleTCP subscriber -a 80.88.150.120 -p 5500


TLS Example:

HelloWorldExampleTCP publisher -t
HelloWorldExampleTCP subscriber -t
You can’t perform that action at this time.