mirror of
https://github.com/achanda/ipnetwork.git
synced 2025-06-16 08:48:51 +00:00
Remove the feature flag for 128 bit integers
Since it is stable now
This commit is contained in:
13
.travis.yml
13
.travis.yml
@ -8,13 +8,8 @@ env:
|
|||||||
- secure: gokQ7xIWwmAuEUW3IyS5B/pbZxdFSSDBto5beJ+4ACGcRMDqJ/eCPf1ekSVXME4TWM46uUCjxcdUjYhIhQ6sG4zfWck4u45qRJ5JbIoTvR+ykxhN1j3Zi5x9ptP3ALDbHn2i3v6t9xohORfQpz3dVND5c7thbYDyKP2ZR1sez5c=
|
- secure: gokQ7xIWwmAuEUW3IyS5B/pbZxdFSSDBto5beJ+4ACGcRMDqJ/eCPf1ekSVXME4TWM46uUCjxcdUjYhIhQ6sG4zfWck4u45qRJ5JbIoTvR+ykxhN1j3Zi5x9ptP3ALDbHn2i3v6t9xohORfQpz3dVND5c7thbYDyKP2ZR1sez5c=
|
||||||
- FEATURES: default
|
- FEATURES: default
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- rust: nightly
|
|
||||||
env: FEATURES=ipv6-iterator,ipv6-methods
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- cargo build --features $FEATURES --verbose
|
- cargo build --verbose
|
||||||
- cargo test --features $FEATURES --verbose
|
- cargo test --verbose
|
||||||
- cargo build --features $FEATURES --release --verbose
|
- cargo build --release --verbose
|
||||||
- cargo doc --features $FEATURES --verbose
|
- cargo doc --verbose
|
||||||
|
12
src/ipv6.rs
12
src/ipv6.rs
@ -50,7 +50,6 @@ impl Ipv6Network {
|
|||||||
/// Returns an iterator over `Ipv6Network`. Each call to `next` will return the next
|
/// Returns an iterator over `Ipv6Network`. Each call to `next` will return the next
|
||||||
/// `Ipv6Addr` in the given network. `None` will be returned when there are no more
|
/// `Ipv6Addr` in the given network. `None` will be returned when there are no more
|
||||||
/// addresses.
|
/// addresses.
|
||||||
#[cfg(feature = "ipv6-iterator")]
|
|
||||||
pub fn iter(&self) -> Ipv6NetworkIterator {
|
pub fn iter(&self) -> Ipv6NetworkIterator {
|
||||||
let dec = u128::from(self.addr);
|
let dec = u128::from(self.addr);
|
||||||
let max = u128::max_value();
|
let max = u128::max_value();
|
||||||
@ -80,7 +79,6 @@ impl Ipv6Network {
|
|||||||
/// let net: Ipv6Network = "2001:db8::/96".parse().unwrap();
|
/// let net: Ipv6Network = "2001:db8::/96".parse().unwrap();
|
||||||
/// assert_eq!(net.network(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0));
|
/// assert_eq!(net.network(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0));
|
||||||
/// ```
|
/// ```
|
||||||
#[cfg(feature = "ipv6-methods")]
|
|
||||||
pub fn network(&self) -> Ipv6Addr {
|
pub fn network(&self) -> Ipv6Addr {
|
||||||
let mask = u128::from(self.mask());
|
let mask = u128::from(self.mask());
|
||||||
let ip = u128::from(self.addr) & mask;
|
let ip = u128::from(self.addr) & mask;
|
||||||
@ -99,7 +97,6 @@ impl Ipv6Network {
|
|||||||
/// let net: Ipv6Network = "2001:db8::/96".parse().unwrap();
|
/// let net: Ipv6Network = "2001:db8::/96".parse().unwrap();
|
||||||
/// assert_eq!(net.broadcast(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0xffff, 0xffff));
|
/// assert_eq!(net.broadcast(), Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0xffff, 0xffff));
|
||||||
/// ```
|
/// ```
|
||||||
#[cfg(feature = "ipv6-methods")]
|
|
||||||
pub fn broadcast(&self) -> Ipv6Addr {
|
pub fn broadcast(&self) -> Ipv6Addr {
|
||||||
let mask = u128::from(self.mask());
|
let mask = u128::from(self.mask());
|
||||||
let broadcast = u128::from(self.addr) | !mask;
|
let broadcast = u128::from(self.addr) | !mask;
|
||||||
@ -176,7 +173,6 @@ impl Ipv6Network {
|
|||||||
/// let tinynet: Ipv6Network = "ff01::0/128".parse().unwrap();
|
/// let tinynet: Ipv6Network = "ff01::0/128".parse().unwrap();
|
||||||
/// assert_eq!(tinynet.size(), 1);
|
/// assert_eq!(tinynet.size(), 1);
|
||||||
/// ```
|
/// ```
|
||||||
#[cfg(feature = "ipv6-methods")]
|
|
||||||
pub fn size(&self) -> u128 {
|
pub fn size(&self) -> u128 {
|
||||||
let host_bits = (IPV6_BITS - self.prefix) as u32;
|
let host_bits = (IPV6_BITS - self.prefix) as u32;
|
||||||
(2 as u128).pow(host_bits)
|
(2 as u128).pow(host_bits)
|
||||||
@ -206,13 +202,11 @@ impl From<Ipv6Addr> for Ipv6Network {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "ipv6-iterator")]
|
|
||||||
pub struct Ipv6NetworkIterator {
|
pub struct Ipv6NetworkIterator {
|
||||||
next: u128,
|
next: u128,
|
||||||
end: u128,
|
end: u128,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "ipv6-iterator")]
|
|
||||||
impl Iterator for Ipv6NetworkIterator {
|
impl Iterator for Ipv6NetworkIterator {
|
||||||
type Item = Ipv6Addr;
|
type Item = Ipv6Addr;
|
||||||
|
|
||||||
@ -360,7 +354,6 @@ mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "ipv6-iterator")]
|
|
||||||
fn iterator_v6() {
|
fn iterator_v6() {
|
||||||
let cidr: Ipv6Network = "2001:db8::/126".parse().unwrap();
|
let cidr: Ipv6Network = "2001:db8::/126".parse().unwrap();
|
||||||
let mut iter = cidr.iter();
|
let mut iter = cidr.iter();
|
||||||
@ -384,7 +377,6 @@ mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "ipv6-iterator")]
|
|
||||||
fn iterator_v6_tiny() {
|
fn iterator_v6_tiny() {
|
||||||
let cidr: Ipv6Network = "2001:db8::/128".parse().unwrap();
|
let cidr: Ipv6Network = "2001:db8::/128".parse().unwrap();
|
||||||
let mut iter = cidr.iter();
|
let mut iter = cidr.iter();
|
||||||
@ -396,7 +388,6 @@ mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "ipv6-iterator")]
|
|
||||||
fn iterator_v6_huge() {
|
fn iterator_v6_huge() {
|
||||||
let cidr: Ipv6Network = "2001:db8::/0".parse().unwrap();
|
let cidr: Ipv6Network = "2001:db8::/0".parse().unwrap();
|
||||||
let mut iter = cidr.iter();
|
let mut iter = cidr.iter();
|
||||||
@ -406,7 +397,6 @@ mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "ipv6-methods")]
|
|
||||||
fn network_v6() {
|
fn network_v6() {
|
||||||
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
|
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
|
||||||
let net = cidr.network();
|
let net = cidr.network();
|
||||||
@ -415,7 +405,6 @@ mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "ipv6-methods")]
|
|
||||||
fn broadcast_v6() {
|
fn broadcast_v6() {
|
||||||
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
|
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
|
||||||
let net = cidr.broadcast();
|
let net = cidr.broadcast();
|
||||||
@ -424,7 +413,6 @@ mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(feature = "ipv6-methods")]
|
|
||||||
fn size_v6() {
|
fn size_v6() {
|
||||||
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
|
let cidr: Ipv6Network = "2001:db8::0/96".parse().unwrap();
|
||||||
assert_eq!(cidr.size(), 4294967296);
|
assert_eq!(cidr.size(), 4294967296);
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
//! is still WIP.
|
//! is still WIP.
|
||||||
#![cfg_attr(feature = "dev", feature(plugin))]
|
#![cfg_attr(feature = "dev", feature(plugin))]
|
||||||
#![cfg_attr(feature = "dev", plugin(clippy))]
|
#![cfg_attr(feature = "dev", plugin(clippy))]
|
||||||
#![cfg_attr(feature = "ipv6-iterator", feature(i128_type))]
|
|
||||||
#![cfg_attr(feature = "ipv6-methods", feature(i128_type))]
|
|
||||||
#![crate_type = "lib"]
|
#![crate_type = "lib"]
|
||||||
#![doc(html_root_url = "https://docs.rs/ipnetwork/0.12.8")]
|
#![doc(html_root_url = "https://docs.rs/ipnetwork/0.12.8")]
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user