Compare commits

...

3 Commits

Author SHA1 Message Date
Jacob Perron
34dae0a8c9 0.8.4 2020-01-17 16:57:25 -08:00
Jacob Perron
7ff1b2991f Intra-process subscriber should use RMW actual qos. (ros2#913) (#914) (#965)
* Intra-process subscriber should use RMW actual qos. (ros2#913)

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

Co-authored-by: Todd Malsbary <todd.malsbary@intel.com>
2020-01-17 17:18:21 -05:00
Jacob Perron
c0ad535249 Remove absolute path from installed CMake code (#948) (#950)
Otherwise, rclcpp_components_register_node() fails if used from a fat archive.

Related to https://github.com/ros2/ros2/issues/606.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
2020-01-17 16:38:20 -05:00
11 changed files with 27 additions and 13 deletions

View File

@@ -2,6 +2,11 @@
Changelog for package rclcpp Changelog for package rclcpp
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0.8.4 (2020-01-17)
------------------
* Intra-process subscriber should use RMW actual qos (ros2`#913 <https://github.com/ros2/rclcpp/issues/913>`_) (`#914 <https://github.com/ros2/rclcpp/issues/914>`_) (`#965 <https://github.com/ros2/rclcpp/issues/965>`_)
* Contributors: Todd Malsbary
0.8.3 (2019-11-19) 0.8.3 (2019-11-19)
------------------ ------------------

View File

@@ -124,15 +124,16 @@ public:
using rclcpp::detail::resolve_intra_process_buffer_type; using rclcpp::detail::resolve_intra_process_buffer_type;
// Check if the QoS is compatible with intra-process. // Check if the QoS is compatible with intra-process.
if (qos.get_rmw_qos_profile().history == RMW_QOS_POLICY_HISTORY_KEEP_ALL) { rmw_qos_profile_t qos_profile = get_actual_qos().get_rmw_qos_profile();
if (qos_profile.history == RMW_QOS_POLICY_HISTORY_KEEP_ALL) {
throw std::invalid_argument( throw std::invalid_argument(
"intraprocess communication is not allowed with keep all history qos policy"); "intraprocess communication is not allowed with keep all history qos policy");
} }
if (qos.get_rmw_qos_profile().depth == 0) { if (qos_profile.depth == 0) {
throw std::invalid_argument( throw std::invalid_argument(
"intraprocess communication is not allowed with 0 depth qos policy"); "intraprocess communication is not allowed with 0 depth qos policy");
} }
if (qos.get_rmw_qos_profile().durability != RMW_QOS_POLICY_DURABILITY_VOLATILE) { if (qos_profile.durability != RMW_QOS_POLICY_DURABILITY_VOLATILE) {
throw std::invalid_argument( throw std::invalid_argument(
"intraprocess communication allowed only with volatile durability"); "intraprocess communication allowed only with volatile durability");
} }
@@ -149,7 +150,7 @@ public:
options.get_allocator(), options.get_allocator(),
context, context,
this->get_topic_name(), // important to get like this, as it has the fully-qualified name this->get_topic_name(), // important to get like this, as it has the fully-qualified name
qos.get_rmw_qos_profile(), qos_profile,
resolve_intra_process_buffer_type(options.intra_process_buffer_type, callback) resolve_intra_process_buffer_type(options.intra_process_buffer_type, callback)
); );
TRACEPOINT( TRACEPOINT(

View File

@@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2"> <package format="2">
<name>rclcpp</name> <name>rclcpp</name>
<version>0.8.3</version> <version>0.8.4</version>
<description>The ROS client library in C++.</description> <description>The ROS client library in C++.</description>
<maintainer email="dthomas@osrfoundation.org">Dirk Thomas</maintainer> <maintainer email="dthomas@osrfoundation.org">Dirk Thomas</maintainer>
<license>Apache License 2.0</license> <license>Apache License 2.0</license>

View File

@@ -287,10 +287,6 @@ static std::vector<TestParameters> invalid_qos_profiles()
TestParameters( TestParameters(
rclcpp::QoS(rclcpp::KeepAll()), rclcpp::QoS(rclcpp::KeepAll()),
"keep_all_qos")); "keep_all_qos"));
parameters.push_back(
TestParameters(
rclcpp::QoS(rclcpp::KeepLast(0)),
"keep_last_zero_depth_qos"));
return parameters; return parameters;
} }

View File

@@ -3,6 +3,9 @@ Changelog for package rclcpp_action
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0.8.4 (2020-01-17)
------------------
0.8.3 (2019-11-19) 0.8.3 (2019-11-19)
------------------ ------------------
* issue-919 Fixed "memory leak" in action clients (`#920 <https://github.com/ros2/rclcpp/issues/920>`_) * issue-919 Fixed "memory leak" in action clients (`#920 <https://github.com/ros2/rclcpp/issues/920>`_)

View File

@@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2"> <package format="2">
<name>rclcpp_action</name> <name>rclcpp_action</name>
<version>0.8.3</version> <version>0.8.4</version>
<description>Adds action APIs for C++.</description> <description>Adds action APIs for C++.</description>
<maintainer email="dthomas@osrfoundation.org">Dirk Thomas</maintainer> <maintainer email="dthomas@osrfoundation.org">Dirk Thomas</maintainer>
<license>Apache License 2.0</license> <license>Apache License 2.0</license>

View File

@@ -2,6 +2,11 @@
Changelog for package rclcpp_components Changelog for package rclcpp_components
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0.8.4 (2020-01-17)
------------------
* Remove absolute path from installed CMake code (`#948 <https://github.com/ros2/rclcpp/issues/948>`_) (`#950 <https://github.com/ros2/rclcpp/issues/950>`_)
* Contributors: Jacob Perron
0.8.3 (2019-11-19) 0.8.3 (2019-11-19)
------------------ ------------------

View File

@@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2"> <package format="2">
<name>rclcpp_components</name> <name>rclcpp_components</name>
<version>0.8.3</version> <version>0.8.4</version>
<description>Package containing tools for dynamically loadable components</description> <description>Package containing tools for dynamically loadable components</description>
<maintainer email="michael@openrobotics.org">Michael Carroll</maintainer> <maintainer email="michael@openrobotics.org">Michael Carroll</maintainer>
<license>Apache License 2.0</license> <license>Apache License 2.0</license>

View File

@@ -25,7 +25,8 @@ macro(_rclcpp_components_register_package_hook)
endif() endif()
endmacro() endmacro()
set(@PROJECT_NAME@_NODE_TEMPLATE "@CMAKE_INSTALL_PREFIX@/@node_main_template_install_dir@/node_main.cpp.in") get_filename_component(@PROJECT_NAME@_SHARE_DIR "${@PROJECT_NAME@_DIR}" DIRECTORY)
set(@PROJECT_NAME@_NODE_TEMPLATE "${@PROJECT_NAME@_SHARE_DIR}/node_main.cpp.in")
include("${rclcpp_components_DIR}/rclcpp_components_register_nodes.cmake") include("${rclcpp_components_DIR}/rclcpp_components_register_nodes.cmake")
include("${rclcpp_components_DIR}/rclcpp_components_register_node.cmake") include("${rclcpp_components_DIR}/rclcpp_components_register_node.cmake")

View File

@@ -3,6 +3,9 @@ Changelog for package rclcpp_lifecycle
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0.8.4 (2020-01-17)
------------------
0.8.3 (2019-11-19) 0.8.3 (2019-11-19)
------------------ ------------------

View File

@@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> <?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2"> <package format="2">
<name>rclcpp_lifecycle</name> <name>rclcpp_lifecycle</name>
<version>0.8.3</version> <version>0.8.4</version>
<description>Package containing a prototype for lifecycle implementation</description> <description>Package containing a prototype for lifecycle implementation</description>
<maintainer email="karsten@osrfoundation.org">Karsten Knese</maintainer> <maintainer email="karsten@osrfoundation.org">Karsten Knese</maintainer>
<license>Apache License 2.0</license> <license>Apache License 2.0</license>