Should there be a DefaultQoS or default constructor for QoS?
There are a handful of convenience QoS profile objects that come from the various rmw profiles here:
https://github.com/ros2/rclcpp/blob/1...
However, one that is missing is the rmw_qos_profile_default
. That would seem to be covered by the constructor for QoS, but it is not because one has to provide a QoSInitialization object to the constructor, which itself does not have a default constructor. To get around this I put this in my code:
class DefaultQoS : public rclcpp::QoS
{
public:
explicit
DefaultQoS(
const rclcpp::QoSInitialization & qos_initialization = (
rclcpp::QoSInitialization::from_rmw(rmw_qos_profile_default)
));
};
Am I misunderstanding how I should be using the API? Would a PR adding this default QoS (or a default constructor for QoS itself that constructs it like this be welcome?
Or, should I be using SystemDefaultsQoS instead? I am confused as to where the queue depth is defined in that case.