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

Dnae adas/serialized intra process communication #819

Conversation

DensoADAS
Copy link
Contributor

Description:
Extended rclcpp to allow serialized intra process communication. Therefore, we extended mapped ring buffer to allow to handle the message type and the (possible custom) deleter of the serialized data. If the subscription or publisher are not serialized the serialized message is converted on demand.

Possible applications:

  • direct recording of serialized data without serialization (with IPM)
  • non-templated publisher of serialized messages (with IPM)

Features:

  • extended mapped_ring_buffer to handle serialized data (including deleter)
  • added serialization and deserialization functions in intraprocess manager
  • converting data content if needed (if non/serialized subscription vs. publisher)
  • moved publish(rcl_serialized_message_t) from Publisher to PublisherBase to make it more generic
  • added unit tests: test_intra_process_communication

@Karsten1987
Copy link
Contributor

This PR has to be rebased on top of master. That makes the change way smaller and easier to review.

@DensoADAS DensoADAS force-pushed the dnae_adas/serialized_intra_process_communication branch from 0a1ecb8 to d4adb85 Compare August 12, 2019 13:09
Joshua Hampp added 17 commits August 12, 2019 15:11
…) in mapped_ring_buffer

* updated tests

Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
* added (de)serializer
* updated tests

Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
…her_base without type info)

Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
@DensoADAS DensoADAS force-pushed the dnae_adas/serialized_intra_process_communication branch from d4adb85 to 85544a7 Compare August 12, 2019 13:11
@DensoADAS
Copy link
Contributor Author

  • rebased

@ivanpauno
Copy link
Member

Thanks for the PR.
We are also considering #778, which is a new implementation of intra process communication (with improved performance).
This will have to wait to that. #778 is a completely new implementation, so changes will be needed here after #778 gets merged.

@ros2 ros2 deleted a comment from DensoADAS Aug 13, 2019
@ros2 ros2 deleted a comment from DensoADAS Aug 13, 2019
@DensoADAS DensoADAS closed this Jan 30, 2020
@DensoADAS
Copy link
Contributor Author

Created new pull request to new ipm.
see: #973

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.

None yet

4 participants