12 releases
0.3.0 | Aug 17, 2024 |
---|---|
0.2.5 | Jan 11, 2024 |
0.2.4 | Aug 17, 2023 |
0.2.3 | Jan 19, 2023 |
0.1.3 | Jan 24, 2020 |
#941 in Network programming
3,620 downloads per month
59KB
1.5K
SLoC
Iptools
This is a port of package iptools from Python.
Getting Started
Add the following dependency to your Cargo manifest:
[dependencies]
iptools = "0.3.0"
Example of usage
let first_range = IpRange::<IPv4>::new("127.0.0.1/16", "").unwrap();
let second_range = IpRange::<IPv4>::new("127.0.0.1", "127.0.0.255").unwrap();
// Print range (tuple)
println!("{:?} {:?}", first_range.get_range(), second_range.get_range());
// Ip address range iterator
println!("{:?} {:?}", first_range.next(), second_range.next());
// Print current length of range (next() iterator reduces the length of range)
println!("{}", first_range.len_cur());
// Print initial range
println!("{}", first_range.len());
// Сheck if the current range contains an ip address
println!("{:?}", first_range.contains("127.0.0.3"));
Supported Rust Versions
Rust 1.70.0+
License
This project is licensed under the MIT license.
Dependencies
~2.8–4MB
~67K SLoC