diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-11-17 18:07:39 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-11-17 18:07:39 +0100 |
commit | 2c20dc2932696cb87ea7e6eb5327b7dccf0e9b1b (patch) | |
tree | 1d6a940d19d8e73aa86a63445d0caad9689ae509 /src/blocking.rs | |
parent | e90ee46c1aeb83973da25e9b104c896baddc475d (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.rs | 7 |
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")] |