Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[19378] Add XML support for ThreadSettings #3922

Merged
merged 29 commits into from
Oct 26, 2023

Conversation

EduPonz
Copy link

@EduPonz EduPonz commented Oct 10, 2023

Description

This PR provides support for configuring Fast DDS ThreadSettings using XML.

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
  • Any new/modified methods have been properly documented using Doxygen.
  • Changes are ABI compatible.
  • Changes are API compatible.
  • N/A: New feature has been added to the versions.md file (if applicable).
  • N/A: New feature has been documented/Current behavior is correctly described in the documentation.
  • N/A: Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

@EduPonz
Copy link
Author

EduPonz commented Oct 10, 2023

@richiprosima please test mac

@EduPonz EduPonz force-pushed the feature/thread-config/xml branch 2 times, most recently from e0e0850 to fda26df Compare October 11, 2023 09:33
@MiguelCompany MiguelCompany added this to the v2.13.0 milestone Oct 17, 2023
test/unittest/xmlparser/XMLElementParserTests.cpp Outdated Show resolved Hide resolved
test/unittest/xmlparser/XMLElementParserTests.cpp Outdated Show resolved Hide resolved
test/unittest/xmlparser/XMLElementParserTests.cpp Outdated Show resolved Hide resolved
src/cpp/rtps/xmlparser/XMLElementParser.cpp Show resolved Hide resolved
test/unittest/xmlparser/XMLParserTests.cpp Show resolved Hide resolved
resources/xsd/fastRTPS_profiles.xsd Outdated Show resolved Hide resolved
src/cpp/fastdds/subscriber/DataReaderImpl.cpp Outdated Show resolved Hide resolved
resources/xsd/fastRTPS_profiles.xsd Outdated Show resolved Hide resolved
Base automatically changed from feature/thread-config/wrapper to feature/thread-config/main October 23, 2023 10:19
Copy link
Member

@MiguelCompany MiguelCompany left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@MiguelCompany
Copy link
Member

@richiprosima Please test this

@MiguelCompany MiguelCompany added the ci-pending PR which CI is running label Oct 24, 2023
@EduPonz
Copy link
Author

EduPonz commented Oct 24, 2023

@richiprosima please test mac

@MiguelCompany
Copy link
Member

@richiprosima Please test this

@MiguelCompany
Copy link
Member

@richiprosima Please test this

@MiguelCompany
Copy link
Member

@richiprosima Please test mac

1 similar comment
@MiguelCompany
Copy link
Member

@richiprosima Please test mac

@EduPonz
Copy link
Author

EduPonz commented Oct 26, 2023

@richiprosima please test mac

@EduPonz EduPonz merged this pull request into feature/thread-config/main Oct 26, 2023
6 of 8 checks passed
@EduPonz EduPonz deleted the feature/thread-config/xml branch October 26, 2023 08:00
MiguelCompany added a commit that referenced this pull request Oct 30, 2023
* Refs #19378: Add threadSettingsTypes to XSD schema

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add unit test for parsing thread_settings XML elements

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLThreadSettings to XMLElementParser

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to Log

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XML tag tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XSD

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLEntityFactoryQos unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipant

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Uncrustify

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads API & unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads implementation

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings config

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix Windows warning regarding sscanf

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply Miguel's suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply some other suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Check result on pthread_setschedparam

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Add include on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Avoid using gettid on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378: Fix mac warning

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Co-authored-by: Miguel Company <[email protected]>
MiguelCompany added a commit that referenced this pull request Nov 13, 2023
* Refs #19378: Add threadSettingsTypes to XSD schema

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add unit test for parsing thread_settings XML elements

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLThreadSettings to XMLElementParser

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to Log

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XML tag tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XSD

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLEntityFactoryQos unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipant

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Uncrustify

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads API & unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads implementation

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings config

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix Windows warning regarding sscanf

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply Miguel's suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply some other suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Check result on pthread_setschedparam

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Add include on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Avoid using gettid on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378: Fix mac warning

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Co-authored-by: Miguel Company <[email protected]>
EduPonz added a commit that referenced this pull request Nov 20, 2023
* Refs #19378: Add threadSettingsTypes to XSD schema

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add unit test for parsing thread_settings XML elements

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLThreadSettings to XMLElementParser

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to Log

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XML tag tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XSD

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLEntityFactoryQos unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipant

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Uncrustify

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads API & unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads implementation

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings config

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix Windows warning regarding sscanf

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply Miguel's suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply some other suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Check result on pthread_setschedparam

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Add include on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Avoid using gettid on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378: Fix mac warning

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Co-authored-by: Miguel Company <[email protected]>
EduPonz added a commit that referenced this pull request Nov 21, 2023
* Setting infraestructure for naming threads (#3821)

* Refs #19375. Added internal header for threading utilities.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added empty implementation for set_name_to_current_thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on Log thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on shm watchdog thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name for filewatch threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on ResourceEvent threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on udp reception thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on shm reception thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on data-sharing reception thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name for TCP threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on FlowController thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name for SHM dump threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added initialization callback to LogTopic.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. SecurityManager refactor to receive plugin factory by dependency injection.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Allow easy overload of creation of builtin plugins.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. RTPSParticipantImpl configures the logging thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Uncrustify.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>

* Platform implementations for set_name_to_current_thread (#3823)

* Refs #17492. Added pthread implementation for set_name_to_current_thread

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Added implementation for Windows.

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Added implementation for Mac.

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Added doxygen to threading.hpp

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Using pthread implementation for Android.

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Fix build error on snprintf.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>

* Add ThreadSettings to Qos (#3848)

* Refs #19377: Add ThreadSettings struct

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to Log API

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DomainParticipantFactoryQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DomainParticipantQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to TransportConfigQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to TransportDescriptorInterface

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to SharedMemTransportDescriptor

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to FlowControllerDescriptor

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DataReaderQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DomainParticipantQos for builtin flow controllers

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Address Miguel's comments in DomainParticipant

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in DataReader

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in ParticipantTests

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in QosConverters

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in Transport descriptors

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in DataReaderTests

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in RTPSParticipantAttibutes

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in PortBasedTransportDescriptor

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Add builtin_controllers_sender_thread to UpdatableDomainParticipantQos

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Refactor PortBasedTransportDescriptor accessors

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Add TCP related thread settings

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Add data_sharing_listener_thread to ReaderAttributes

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Fix windows warning

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: Eduardo Ponz <[email protected]>
Signed-off-by: EduPonz <[email protected]>

* Apply thread settings (#3874)

* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <[email protected]>

Co-authored-by: Eduardo Ponz Segrelles <[email protected]>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>
Co-authored-by: Eduardo Ponz Segrelles <[email protected]>

* Add XML support for ThreadSettings (#3922)

* Refs #19378: Add threadSettingsTypes to XSD schema

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add unit test for parsing thread_settings XML elements

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLThreadSettings to XMLElementParser

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to Log

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XML tag tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XSD

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLEntityFactoryQos unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipant

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Uncrustify

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads API & unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads implementation

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings config

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix Windows warning regarding sscanf

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply Miguel's suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply some other suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Check result on pthread_setschedparam

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Add include on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Avoid using gettid on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378: Fix mac warning

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Co-authored-by: Miguel Company <[email protected]>

* Fix doxygen (#3987)

Signed-off-by: EduPonz <[email protected]>

* Parse missing TCPTransportDescriptor XML elements (#4001)

* Refs #19378: Set DomainParticipantFactoryQos when loading profiles

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Parse missing TCPTransportDescriptor XML elements

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>

* Custom eprosima::thread class that allows setting the stack size (#4000)

* Refs #19797. Initial refactor. eprosima::thread inherits from std::thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Update code in ResourceEvent.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Using eprosima::thread instead of std::thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Include `<thread>` where `std::this_thread` is used.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Copy basic eprosima::thread implementation into ipp files.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Select ipp file depending on platform.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Copy windows implementation on `thread_impl_win32.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Added `is_calling_thread method`.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Using `is_calling_thread` instead of comparing ids.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Using stack size argument.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Update test.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Implementation for pthread based platforms.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Use pthread based implementation on Mac.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Change windows implementation approach.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Factor out common code.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Linter

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Use local `swap` method.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Pass 0 value to `pthread_attr_setstacksize`.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Linter

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Improve include what you use.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Add missing includes

Signed-off-by: EduPonz <[email protected]>

* Refs #19797. Fix thread settings on dds unit test xml profiles.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: EduPonz <[email protected]>
Co-authored-by: EduPonz <[email protected]>

* Refs #19907: Add feature to versions.md

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Eduardo Ponz <[email protected]>
Signed-off-by: EduPonz <[email protected]>
Co-authored-by: Miguel Company <[email protected]>
adriancampo pushed a commit that referenced this pull request Nov 27, 2023
* Setting infraestructure for naming threads (#3821)

* Refs #19375. Added internal header for threading utilities.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added empty implementation for set_name_to_current_thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on Log thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on shm watchdog thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name for filewatch threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on ResourceEvent threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on udp reception thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on shm reception thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on data-sharing reception thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name for TCP threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name on FlowController thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added name for SHM dump threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Added initialization callback to LogTopic.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. SecurityManager refactor to receive plugin factory by dependency injection.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Allow easy overload of creation of builtin plugins.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. RTPSParticipantImpl configures the logging thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19375. Uncrustify.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>

* Platform implementations for set_name_to_current_thread (#3823)

* Refs #17492. Added pthread implementation for set_name_to_current_thread

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Added implementation for Windows.

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Added implementation for Mac.

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Added doxygen to threading.hpp

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Using pthread implementation for Android.

Signed-off-by: Miguel Company <[email protected]>

* Refs #17492. Fix build error on snprintf.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>

* Add ThreadSettings to Qos (#3848)

* Refs #19377: Add ThreadSettings struct

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to Log API

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DomainParticipantFactoryQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DomainParticipantQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to TransportConfigQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to TransportDescriptorInterface

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to SharedMemTransportDescriptor

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to FlowControllerDescriptor

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DataReaderQos

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Add ThreadSetting to DomainParticipantQos for builtin flow controllers

Signed-off-by: Eduardo Ponz <[email protected]>

* Refs #19377: Address Miguel's comments in DomainParticipant

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in DataReader

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in ParticipantTests

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in QosConverters

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in Transport descriptors

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in DataReaderTests

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in RTPSParticipantAttibutes

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Address Miguel's comments in PortBasedTransportDescriptor

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Add builtin_controllers_sender_thread to UpdatableDomainParticipantQos

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Refactor PortBasedTransportDescriptor accessors

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Add TCP related thread settings

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Add data_sharing_listener_thread to ReaderAttributes

Signed-off-by: EduPonz <[email protected]>

* Refs #19377: Fix windows warning

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: Eduardo Ponz <[email protected]>
Signed-off-by: EduPonz <[email protected]>

* Apply thread settings (#3874)

* Refs #19436. Added thread creation wrapper infrastructure.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Added empty implementation for apply_thread_settings_to_current_thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Refactor on Log.cpp

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add implementation for setting cpu affinity.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add test setting config for Log thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Fix SystemInfoTests link issue.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on ResourceEvent.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on DataSharingListener.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on FlowControllerImpl.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Changes on security LogTopic.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on SharedMemWatchdog.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on SharedMem reception threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on SharedMem packet dump threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on UDP reception threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on TCP accept and keep_alive threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply settings on TCP reception threads.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Include what you use.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add MacOS implementation for setting scheduler and priority.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Add MacOS implementation for setting thread affinity.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19437. Member cpu_mask changed to affinity and made it 64 bits.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19437. Windows implementation for thread affinity.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19437. Windows implementation for thread priority.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Made `get_thread_config_for_port` a const method.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19436. Apply suggestions from code review.

Signed-off-by: Miguel Company <[email protected]>

Co-authored-by: Eduardo Ponz Segrelles <[email protected]>

* Refs #19435. Some refactors on FileWatch:
- Namespace moved to eprosima::filewatch
- Constructor receives thread settings
- Copy constructors deleted

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. SystemInfo::watch_file receives thread settings.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Added RTPSDomain::set_filewatch_thread_config

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Call RTPSDomain::set_filewatch_thread_config inside DomainParticipantFactory::create_participant

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Change priority default value.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Account for default values in threading_pthread

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Account for default values in threading_osx

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Account for default values in threading_win32

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Linters.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Use C++ headers.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Documentation updates.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Suggestions on Log test.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19435. Removed unused overload of create_thread.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>
Co-authored-by: Eduardo Ponz Segrelles <[email protected]>

* Add XML support for ThreadSettings (#3922)

* Refs #19378: Add threadSettingsTypes to XSD schema

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add unit test for parsing thread_settings XML elements

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLThreadSettings to XMLElementParser

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add Log test cases to XMLProfileParserBasicTests.thread_settings_qos test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to Log

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XML tag tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant_factory XSD

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipantFactory

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add getXMLEntityFactoryQos unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add domainparticipant XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add XML ThreadSettings config to DomainParticipant

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Uncrustify

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads API & unit test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add parseXMLReceptionThreads implementation

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add transport descriptor XML thread settings config

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings tests

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add datareader XML thread settings

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML test

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Add builtin_transports_reception_threads to domainparticipant XML

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix Windows warning regarding sscanf

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Fix flow controllers unittests build when using Fast CDR as thirdparty

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply Miguel's suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Apply some other suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #19378. OSx has neither `SCHED_BATCH` nor `SCHED_IDLE`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Check result on pthread_setschedparam

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Add include on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378. Avoid using gettid on `threading_osx.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19378: Fix mac warning

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Co-authored-by: Miguel Company <[email protected]>

* Fix doxygen (#3987)

Signed-off-by: EduPonz <[email protected]>

* Parse missing TCPTransportDescriptor XML elements (#4001)

* Refs #19378: Set DomainParticipantFactoryQos when loading profiles

Signed-off-by: EduPonz <[email protected]>

* Refs #19378: Parse missing TCPTransportDescriptor XML elements

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: EduPonz <[email protected]>

* Custom eprosima::thread class that allows setting the stack size (#4000)

* Refs #19797. Initial refactor. eprosima::thread inherits from std::thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Update code in ResourceEvent.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Using eprosima::thread instead of std::thread.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Include `<thread>` where `std::this_thread` is used.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Copy basic eprosima::thread implementation into ipp files.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Select ipp file depending on platform.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Copy windows implementation on `thread_impl_win32.ipp`

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Added `is_calling_thread method`.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Using `is_calling_thread` instead of comparing ids.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Using stack size argument.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Update test.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Implementation for pthread based platforms.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Use pthread based implementation on Mac.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Change windows implementation approach.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Factor out common code.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Linter

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Use local `swap` method.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Pass 0 value to `pthread_attr_setstacksize`.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Linter

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Improve include what you use.

Signed-off-by: Miguel Company <[email protected]>

* Refs #19797. Add missing includes

Signed-off-by: EduPonz <[email protected]>

* Refs #19797. Fix thread settings on dds unit test xml profiles.

Signed-off-by: Miguel Company <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: EduPonz <[email protected]>
Co-authored-by: EduPonz <[email protected]>

* Refs #19907: Add feature to versions.md

Signed-off-by: EduPonz <[email protected]>

---------

Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Eduardo Ponz <[email protected]>
Signed-off-by: EduPonz <[email protected]>
Co-authored-by: Miguel Company <[email protected]>
Signed-off-by: adriancampo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-pending PR which CI is running
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants