Skip to content

Commit

Permalink
Add Publisher::get_subscription_count
Browse files Browse the repository at this point in the history
  • Loading branch information
romainreignier committed Feb 4, 2025
1 parent 83ab23a commit 11128b9
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions rclrs/src/publisher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,20 @@ where
}
}

/// Returns the number of subscriptions of the publisher.
pub fn get_subscription_count(&self) -> Result<usize, RclrsError> {
let mut subscription_count = 0;
// SAFETY: No preconditions for the function called.
unsafe {
rcl_publisher_get_subscription_count(
&*self.handle.rcl_publisher.lock().unwrap(),
&mut subscription_count,
)
.ok()?
};
Ok(subscription_count)
}

/// Publishes a message.
///
/// The [`MessageCow`] trait is implemented by any
Expand Down Expand Up @@ -327,6 +341,10 @@ mod tests {
expected_publishers_info
);

// Test get_subscription_count()
assert_eq!(node_1_empty_publisher.get_subscription_count(), Ok(0));
assert_eq!(node_2_default_publisher.get_subscription_count(), Ok(0));

Ok(())
}
}

0 comments on commit 11128b9

Please sign in to comment.