From e17cb311a3530133e2ad0ba905bc9899fd037f8c Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Sun, 1 Oct 2023 15:23:50 -0400 Subject: [PATCH] fix: waku_peer_count conversion to usize --- waku-bindings/src/node/management.rs | 4 ++++ waku-bindings/src/node/peers.rs | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/waku-bindings/src/node/management.rs b/waku-bindings/src/node/management.rs index 72f4242..f5f1c70 100644 --- a/waku-bindings/src/node/management.rs +++ b/waku-bindings/src/node/management.rs @@ -62,6 +62,7 @@ pub fn waku_listen_addresses() -> Result> { mod test { use super::waku_new; use crate::node::management::{waku_listen_addresses, waku_peer_id, waku_start, waku_stop}; + use crate::node::peers::waku_peer_count; use serial_test::serial; #[test] @@ -74,6 +75,9 @@ mod test { dbg!(&id); assert!(!id.is_empty()); + let peer_cnt = waku_peer_count().unwrap(); + dbg!(peer_cnt); + // test addresses, since we cannot start different instances of the node let addresses = waku_listen_addresses().unwrap(); dbg!(&addresses); diff --git a/waku-bindings/src/node/peers.rs b/waku-bindings/src/node/peers.rs index ca463b7..647b184 100644 --- a/waku-bindings/src/node/peers.rs +++ b/waku-bindings/src/node/peers.rs @@ -98,7 +98,11 @@ pub fn waku_disconnect_peer_with_id(peer_id: &PeerId) -> Result<()> { /// As per the [specification](https://rfc.vac.dev/spec/36/#extern-char-waku_peer_count) pub fn waku_peer_count() -> Result { let response_ptr = unsafe { waku_sys::waku_peer_cnt() }; - decode_and_free_response(response_ptr) + let num_str = decode_and_free_response::(response_ptr)?; + let num = num_str + .parse::() + .map_err(|_| "could not convert peer count into u32".to_string())?; + usize::try_from(num).map_err(|_| "could not convert peer count into usize".to_string()) } /// Waku peer supported protocol