Simplify ipv4 broadcast implementation

This commit is contained in:
Linus Färnstrand
2016-06-30 05:09:35 +02:00
parent 5df3246b83
commit 3ebfd5d973

View File

@ -120,9 +120,8 @@ impl Ipv4Network {
/// assert_eq!(bcast_u32, (10 << 24) + (9 << 16) + 0xffff);
/// ```
pub fn broadcast(&self) -> (Ipv4Addr, u32) {
let (_, network) = self.network();
let (_, mask) = self.mask();
let broadcast = network | !mask;
let broadcast = u32::from(self.addr) | !mask;
(Ipv4Addr::from(broadcast), broadcast)
}