Skip to content

WIP: Sync write converted to non-blocking call#426

Merged
LuisGP merged 37 commits intofeature/safety-critical-systemsfrom
feature/write_nonblocking
Apr 10, 2019
Merged

WIP: Sync write converted to non-blocking call#426
LuisGP merged 37 commits intofeature/safety-critical-systemsfrom
feature/write_nonblocking

Conversation

@richiware
Copy link
Copy Markdown
Member

No description provided.

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware richiware force-pushed the feature/write_nonblocking branch from aabc6cb to adfe041 Compare March 15, 2019 08:33
@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

Copy link
Copy Markdown
Contributor

@LuisGP LuisGP left a comment

Choose a reason for hiding this comment

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

Most of the comments refer to a bunch of questions and points to discuss.

@richiware richiware force-pushed the feature/write_nonblocking branch from adfe041 to 11528ec Compare March 26, 2019 07:48
@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware richiware force-pushed the feature/write_nonblocking branch from 96cf3d1 to c6ee2c1 Compare March 28, 2019 08:24
@MiguelCompany MiguelCompany mentioned this pull request Mar 29, 2019
31 tasks
@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware richiware force-pushed the feature/write_nonblocking branch from 43a1fc3 to ced70ad Compare April 2, 2019 08:22
@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware richiware force-pushed the feature/write_nonblocking branch from 10e8fdb to 2b2209e Compare April 8, 2019 08:51
@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

…l was closed before call the async operation.
@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@richiware
Copy link
Copy Markdown
Member Author

Build status:

  • Linux Build Status
  • Mac Build Status
  • Windows Build Status

@LuisGP LuisGP merged commit c592937 into feature/safety-critical-systems Apr 10, 2019
@LuisGP LuisGP deleted the feature/write_nonblocking branch April 10, 2019 08:55
MiguelCompany pushed a commit that referenced this pull request Apr 11, 2019
* Fixed size strings [4216] (#361)

* Refs #4213. New template fixed_string and unit tests.

* Refs #4213. Changing participant, topic and type name to string_255.

* Refs #4213. Adapting blackbox tests.

* New Allocation test [4259] (#364)

* Allocation test improved

* Using osrf_testing_tools

* Readme improved.

* Refs #4222 Update the allocation tests to generate a csv file with the results

* Refs #4222 Update the allocation tests to receive a new argument to set a prefix for the output files.

* Refs #4222 Update cmake file to work as the rest of tests

* Refs #4222 Change the output prefix management to set the output file from outside of the program

* Refs #4222 Fix compilation issue.

* Refs #4222 Fix compilation issue.

* Refs #4222 Add a new argument to set the domain of the test

* Refs #4222 Fix compilation issue.

* Refs #4222 Update the csv export process

* Refs #4222. Restoring callgrind related code.

* Refs #4222. Using condition_variable where requested.

* Refs #4222 Fix compilation issue.

* Refs  #4222 Move the include directory on cmakelist file from "test" to "profiling"

* Refs #4259. Added python script to generate plot.

Also allocation tests now appends to csv new data.

* Fixed size bitmaps [4320] (#370)

* Refs #4292. Removed get_set from SequenceNumberSet_t.

* Refs #4292. Changed ReaderProxy::get_unsent_changes into for_each_unsent_change.

* Refs #4292. Removed get_requested_changes from ReaderProxy.

* Refs #4292. New template BitmapRange.

* Refs #4292. Using BitmapRange on SequenceNumberSet_t.

* Refs #4292. Using BitmapRange on FragmentNumberSet_t.

* Refs #4292. Added unit tests for BitmapRange.

* Refs #4320. Converting SequenceNumberSet_t into an alias.

* Refs #4320. Fixing compiler warnings.

* Refs #4320. Precalculating max when setting base.

* Remove ParameterList_t [4370] (#379)

* Refs #4306. Refactor for reading parameter list.

* Refs #4306. Refactor for writing ParticipantProxyData.

* Refs #4306. Refactor for writing ReaderProxyData.

* Refs #4306. Refactor for writing WriterProxyData.

* Refs #4306. Refactor for writing inline qos.

* Refs #4306. Remove ParameterList_t.

* Refs #4370. Addressing warnings.

* Refs #4370. Using dynamic_cast when processing parameters.

* Refs #4370. Asserting results of dynamic_cast.

* Refs #4370. Changing inheritance of Parameter_t from private to public.

* Refs #4370. Fixing errors compiling on Debug.

* Mutex wrapper with testing properties [4405] (#383)

* Refs #4403. Mutex wrapper with testing properties.

* Refs #4403. Improved doxygen.

* Fixing error initializing on windows.

* Refs #4403. Fixed compilation error on windows.

* Refs #4403. Fixed error in cmakelists.

* Refs #4403. New implementation using LD_PRELOAD.

* Refs #4403. Only tests will run on Linux.

* Refs #4403. Fixed cmake syntax error.

* Refs #4403. Fixed error preloading lib with spaces in dir.

* Refs #4403. Add label NoMemoryCheck to mutex unit tests.

* Refs #4403. Removed blank line.

* Refs #4403. Added support for pthread_mutex_timedlock()

* Resource limited vector [4421] (#386)

* Refs #4363. Resource limited vector implementation.

* Refs #4363. Unit tests for resource limited vector.

* Refs #4421. Fixing warnings.

* Refs #4421. Fixing warning on Mac.

* Refs #4421. Improved doxygen doc.

* Refs #4421. Adding a template parameter for the configuration struct.

* Refs #4421. Added all iterator related wrapper methods.

* Refs #4421. Added erase and pop_back wrapper methods.

* Refs #4421. Added element access wrapper methods.

* Refs #4421. Avoiding use of constexpr.

* Writers: Resource limits on the number of matched readers [4570] (#406)

* Refs #4364. Resource limits on RTPSWriter

* Refs #4366. Resource limits for StatelessWriter::m_matched_readers

* Refs #4366. Refactor to remove StatelessWriter::reader_locators in favour of unsent_changes_

* Refs #4366. Tidy up and apply resource limits.

* Refs #4424. Renamed attribute to matched_readers_allocation.

* Refs #4365. ReaderProxy mutex not dynamically created

* Refs #4365. Hiding ReaderProxy internals from MessageReceiver.

* Refs #4365. Removing mutex on ReaderProxy.

* Refs #4365. Using ranged for loops.

* Refs #4365. Reducing calls to set::insert on ReaderProxy.

* Refs #4365. Style and privates on ReaderProxy.

* Refs #4365. Periodic heartbeat code moved to StatefulWriter.

* Refs #4365. Periodic heartbeat uses send_heartbeat_nts.

* Refs #4365. Wakeup of AsyncWriterThread always called from StatefulWriter, never from ReaderProxy.

* Refs #4365. Styling and tidy up.

* Refs #4365. Fixing compile errors on Debug.

* Refs #4365. Resource limiting changes_for_reader on ReaderProxy.

* Refs #4365. Removing dependency of MessageReceiver from the details of the writer.

* Refs #4365. Started refactor towards ReaderProxy reuse.

* Refs #4365. Reusing ReaderProxy instances and controlling the pool size.

* Refs #4365. Fixing warnings.

* Refs #4365. Adding matched_subscriber_allocation to PublisherAttributes

* Refs #4362. Avoiding dynamic allocations on XTypes related parameters

* Refs #4424. Parsing matchedSubscribersAllocation on publisher profiles.

* Refs #4424. XSD profiles file updated.

* Refs #4424. XMLParser unit tests updated.

* Refs #4593. Added FixedSized type.

* Refs #4593. Added some blackbox tests.

* Refs #4570. Removing auto on StatefulWriter.

* Refs #4570. Removing temporary vector on check_acked_status.

* Refs #4570. Fixing warnings.

* Refs #4570. Addressing review comments.

* Refs #4570. Fixing a typo and removing unnecesary includes of ReaderProxy

* Refs #4570. Apply suggestions from code review

Co-Authored-By: MiguelCompany <miguelcompany@eprosima.com>

* Refs #4704. Using matchedSubscribersAllocation on allocations test. (#423)

* WIP: Sync write converted to non-blocking call (#426)

* Refs #4630. Main mutex was converted to timed version.

* Refs #4630. Removed unused CDRMessagePool.

* Refs #4630. Fixing warnings.

* Refs #4630. Spread max blocking time

* Refs #4630. Refactorization NetworkFactory and UDPTransportInterface.

* Refs #4630. Refactorization TCPTransportInterface.

* Refs #4630. Created TCP keep alive event.

* Refs #4630. Fixing errors with TLS.

* Refs #4630. Fixing errors with TLS.

* Refs #4630. Fixing errors with TLS.

* Refs #4630. Fixing warnings.

* Refs #4630. Fixing invalid read.

* Refs #4630. Debugging clean up.

* Refs #4630. Debugging clean up.

* Refs #4630. Debugging clean up.

* Refs #4630. Debugging clean up.

* Refs #4630. Removing warnings on windows.

* Refs #4630. Removing invalid read.

* Refs #4630 Fixing Windows crash.

* Refs #4630. Applying coding style.

* Refs #4630. Removed lock.

* Refs #4630. Removed shared from lambdas.

* Refs #4630. Invalid read.

* Refs #4630. Invalid read.

* Refs #4630. Invalid read.

* Refs #4630. Invalid read.

* Refs #4630. Using new state.

* Refs #4630. Tired.

* Refs #4630. Change in states.

* Refs #4630. Avoid block.

* Refs #4630. Fixing TLS.

* Refs #4630. Fixed windows warnings.

* Refs #4630. Fixing windows warnings.

* Refs #4630. Avoiding bad shutddown.

* Refs #4630. Applying coding style.

* Refs #4630 Different strands for write/read. Unlock promise if channel was closed before call the async operation.

* Refs #4630. Fixed extra spaces.

* Refs #5094 Added ReaderProxyTests (find_change related tests).

* Refs #5094 Fixed find_change related bug.

* Refs #5107. Fixing windows compile error.

* Fixing non deterministic tests.

* Fixed a warning on windows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants