class

QoSOverridingOptions(policyKinds, optsopt)

Options for overriding QoS policies via ROS parameters. When passed to `createPublisher()` or `createSubscription()`, the node will declare read-only parameters for each specified policy kind. These parameters can be set via command-line arguments, launch files, or parameter files to override the QoS profile at startup. Parameter naming convention: `qos_overrides..[_].`

Constructor

class

new QoSOverridingOptions(policyKinds, optsopt)

Parameters:
Name Type Attributes Description
policyKinds Array.<QoSPolicyKind> Which QoS policies to expose as parameters.
opts Object <optional>
Properties
Name Type Attributes Description
callback function <optional>
Optional validation callback. Receives the final QoS profile after overrides are applied. Should return `{successful: true}` or `{successful: false, reason: '...'}`.
entityId string <optional>
Optional suffix to disambiguate multiple publishers/subscriptions on the same topic.
Source:
Example
// Override history, depth, and reliability via parameters
const sub = node.createSubscription(
  'std_msgs/msg/String', '/chatter',
  { qos: rclnodejs.QoS.profileDefault,
    qosOverridingOptions: QoSOverridingOptions.withDefaultPolicies() },
  (msg) => console.log(msg.data)
);
// Now you can override via CLI:
//   --ros-args -p "qos_overrides./chatter.subscription.depth:=20"

Methods

function

(static) withDefaultPolicies(optsopt) → {QoSOverridingOptions}

Create options that override history, depth, and reliability — the most commonly tuned policies.
Parameters:
Name Type Attributes Description
opts Object <optional>
Properties
Name Type Attributes Description
callback function <optional>
Validation callback.
entityId string <optional>
Entity disambiguation suffix.
Source:
Returns: