diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-31 11:10:11 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-31 11:10:11 +0100 |
commit | 7f50fbbc49c6f5b0d46af40bad88ed9716d09ec1 (patch) | |
tree | b2dbf5c92e707a1bdcc021c155b85d9670b16e60 | |
parent | 4ccd2a322bc87f4e7718e6db4d5b3e62acd30805 (diff) |
implementing filtering for IPv4
-rw-r--r-- | src/lib.rs | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -50,6 +50,18 @@ pub fn addresses(link: String) -> Result<Vec<IpAddr>> { rt.block_on(internal_addresses(Some(link))) } +pub fn ipv4_addresses(link: String) -> Result<Vec<Ipv4Addr>> { + let addrs = addresses(link)? + .iter() + .filter_map(|addr| match addr { + IpAddr::V4(addr) => Some(*addr), + IpAddr::V6(_) => None, + }) + .collect(); + + Ok(addrs) +} + pub fn all_addresses() -> Result<Vec<IpAddr>> { let rt = Runtime::new()?; |