aboutsummaryrefslogtreecommitdiff
path: root/src/blocking.rs
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-11-17 18:07:39 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-11-17 18:07:39 +0100
commit2c20dc2932696cb87ea7e6eb5327b7dccf0e9b1b (patch)
tree1d6a940d19d8e73aa86a63445d0caad9689ae509 /src/blocking.rs
parente90ee46c1aeb83973da25e9b104c896baddc475d (diff)
add function to get all ip addresses of an interface, replacing the linkaddrs crate0.3.0
Diffstat (limited to 'src/blocking.rs')
-rw-r--r--src/blocking.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/blocking.rs b/src/blocking.rs
index 8483452..f66a096 100644
--- a/src/blocking.rs
+++ b/src/blocking.rs
@@ -33,12 +33,19 @@ pub mod addr {
use std::net::IpAddr;
+ use futures::TryStreamExt;
+
blockify!(flush, addr::flush, link: String);
blockify!(flush4, addr::flush4, link: String);
blockify!(flush6, addr::flush6, link: String);
blockify!(flush6_global, addr::flush6_global);
blockify!(add, addr::add, link: String, addr: IpAddr, prefix_len: u8);
blockify!(add_link_local, addr::add_link_local, link: String, addr: IpAddr, prefix_len: u8);
+
+ pub fn get(link: String) -> crate::Result<Vec<IpAddr>> {
+ tokio::runtime::Runtime::new()?
+ .block_on(async { addr::get(link).await?.try_collect().await })
+ }
}
#[cfg(feature = "status")]