From ba8e6ac99ba00f649d186d15dff958d3e494b02a Mon Sep 17 00:00:00 2001 From: Romain Reignier Date: Mon, 3 Feb 2025 18:54:39 +0100 Subject: [PATCH] Add Publisher::get_subscription_count --- rclrs/src/publisher.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/rclrs/src/publisher.rs b/rclrs/src/publisher.rs index b1cdd93b9..6114aea32 100644 --- a/rclrs/src/publisher.rs +++ b/rclrs/src/publisher.rs @@ -146,6 +146,20 @@ where } } + /// Returns the number of subscriptions of the publisher. + pub fn get_subscription_count(&self) -> usize { + let mut subscription_count = 0; + // SAFETY: No preconditions for the function called. + let ret = unsafe { + rcl_publisher_get_subscription_count( + &*self.handle.rcl_publisher.lock().unwrap(), + &mut subscription_count, + ) + }; + debug_assert_eq!(ret, 0); + subscription_count + } + /// Publishes a message. /// /// The [`MessageCow`] trait is implemented by any