* Add received message age metric to topic statistics
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Add unit tests
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Add IMU messages in unit test
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Use system time instead of steady time
Test received message age stats values are greater than 0
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
* Fix test warnings
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
* Replace IMU messages with new dummy messages
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Remove outdated TODO and unused test variables
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Address review comments
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
* Address review comments
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Re-add message with header for unit testing
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Address message review feedback
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
* Remove extra newline
Signed-off-by: Prajakta Gokhale <prajaktg@amazon.com>
* Address more review feedback
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
* Fix Windows failure
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
* Only set append_library_dirs once
Signed-off-by: Devin Bonnie <dbbonnie@amazon.com>
* deprecate redundant namespaces, move classes to own files, rename some classes
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixup
Signed-off-by: William Woodall <william@osrfoundation.org>
* address review comments
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix ups since rebase
Signed-off-by: William Woodall <william@osrfoundation.org>
* avoid deprecation warnings from deprecated functions
Signed-off-by: William Woodall <william@osrfoundation.org>
* more fixes
Signed-off-by: William Woodall <william@osrfoundation.org>
* another fixup, after another rebase
Signed-off-by: William Woodall <william@osrfoundation.org>
* subscriber_statistics_collectors_ should be protected with mutex.
Co-Authored-By: William Woodall <william+github@osrfoundation.org>
Signed-off-by: Tomoya.Fujita <Tomoya.Fujita@sony.com>
* Addes SerializedMessage and helper class for serialization to rcl_serialized_message
@Karsten1987 Thank you for your support
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
* Updateds subscription traits for SerializedMessage
@Karsten1987 Thank you for your support
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
* Addes tests SerializedMessage and subscription traits
@Karsten1987 Thank you for your support
Signed-off-by: Joshua Hampp <j.hampp@denso-adas.de>
* Update rclcpp/include/rclcpp/serialization.hpp
Co-Authored-By: Karsten Knese <Karsten1987@users.noreply.github.com>
* Update rclcpp/test/test_serialized_message.cpp
Co-Authored-By: Karsten Knese <Karsten1987@users.noreply.github.com>
* fix windows compilation
Signed-off-by: Karsten Knese <karsten@openrobotics.org>
* cosmetic touchups
Signed-off-by: Karsten Knese <karsten@openrobotics.org>
Co-authored-by: Joshua Hampp <j.hampp@denso-adas.de>
Co-authored-by: Karsten Knese <Karsten1987@users.noreply.github.com>
Co-authored-by: Karsten Knese <karsten@openrobotics.org>
* add rclcpp::GuardCondition wrapping rcl_guard_condition_t
Signed-off-by: William Woodall <william@osrfoundation.org>
* WIP second wait set refactor, just guard conditions so far
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix typo
Signed-off-by: William Woodall <william@osrfoundation.org>
* removing a question/todo, I think this is fine as is
Signed-off-by: William Woodall <william@osrfoundation.org>
* added subscriptions and waitable to wait sets
Signed-off-by: William Woodall <william@osrfoundation.org>
* improve usability with subscriptions and wait sets
Signed-off-by: William Woodall <william@osrfoundation.org>
* adding take to subscription so it can be used without the executor
Signed-off-by: William Woodall <william@osrfoundation.org>
* add rclcpp::MessageInfo to replace use of rmw_message_info_t
Signed-off-by: William Woodall <william@osrfoundation.org>
* refactor Subscription and Executor so they can be used separately
Signed-off-by: William Woodall <william@osrfoundation.org>
* style and cpplint
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixup take_serialized() and add tests for it
Signed-off-by: William Woodall <william@osrfoundation.org>
* add support for client and service to wait set
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix typo
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix typo
Signed-off-by: William Woodall <william@osrfoundation.org>
* fix review comment
Signed-off-by: William Woodall <william@osrfoundation.org>
* add thread-safe wait set policy
Signed-off-by: William Woodall <william@osrfoundation.org>
* add check for use with multiple wait set
Signed-off-by: William Woodall <william@osrfoundation.org>
* fixup visibility macro usage
Signed-off-by: William Woodall <william@osrfoundation.org>
* remove vestigial test case
Signed-off-by: William Woodall <william@osrfoundation.org>
* move visibility macro fixes
Signed-off-by: William Woodall <william@osrfoundation.org>
* remove vestigial TODO
Signed-off-by: William Woodall <william@osrfoundation.org>
* Add InvalidParameterTypeException
Used to wrap the ParameterTypeException coming from ParameterValue::get() for improving the error message.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Describe new exception
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Update tests
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Added static single threaded executor functionality
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
executor enhanced to run clients and waitable
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
tested executor
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
added semi-dynamic feature to the executor
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
Jenkins error fixes
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
Added static single threaded executor functionality
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
* Added semi-dynamic feature and made changes based on review comments
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
* re-added accidentally deleted code in node.hpp, fixed static_single_threaded_executor.cpp w.r.t. intra-process change since last commit
Signed-off-by: MartinCornelis2 <martin.cornelis@nobleo.nl>
* Remove not needed comparison
wait_set_.size_of_* is always different than '0'
if we are inside the for loop
Signed-off-by: Mauro <mpasserino@irobot.com>
* If new entity added to a node: re-collect entities
Now we check ONLY node guard_conditions_
Some possible guard conditions to be triggered HERE are:
1. Ctrl+C guard condition
2. Executor interrupt_guard_condition_
3. Node guard_conditions_
4. Waitables guard conditions
5. ..more
The previous approach was only checking if NOT (1 & 2),
so if a Waitable was triggered, it would re-collect all
entities, even if no new node entity was added. This was the case
of the intra process manager, who relies on waitables.
Every time a subscriber got a message, all the entities
were collected.
Signed-off-by: Mauro <mpasserino@irobot.com>
* Implement static executor entities collector
Signed-off-by: Mauro <mpasserino@irobot.com>
* fixup and style
Signed-off-by: William Woodall <william@osrfoundation.org>
* mark new classes as final, with non-virtual destructors
Signed-off-by: William Woodall <william@osrfoundation.org>
* adding copyright to static executor files
Signed-off-by: Ishu Goel <ishu.goel@nobleo.nl>
* fixup
Signed-off-by: William Woodall <william@osrfoundation.org>
* cpplint fixes
Signed-off-by: William Woodall <william@osrfoundation.org>
Co-authored-by: Ishu Goel <ishu.goel@nobleo.nl>
Co-authored-by: MartinCornelis2 <martin.cornelis@nobleo.nl>
Co-authored-by: Mauro <mpasserino@irobot.com>
* Add equality operators for QoS profile
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
* Use == operator for rmw_time_t as well
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
* Add visibility macros for the new functions
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
* Add tests for every member of the profile
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
* Remove dangling space
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
Some headers were being included even though they are not required and other headers were being included transitively.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
It was complaining about an unknown macro RCLCPP_SMART_PTR_DEFINITIONS.
Passing rclcpp include directories to cppcheck resolves the errors
reported in rclcpp_action and rclcpp_lifecycle.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
This fixes a cppcheck error that was detected when including the rclcpp headers in rclcpp_action and rclcpp_lifecycle.
It is not clear to me why cppcheck does not report the unitialized member when testing rclcpp directly.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>