Docs update

This commit is contained in:
Abhishek Chanda
2016-12-21 17:56:17 +00:00
parent bd441db7bc
commit c11ebdbd5b
5 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,5 @@
ipnetwork
===
This is a library to work with IPv4 and v6 CIDRs in rust This is a library to work with IPv4 and v6 CIDRs in rust
The IPv4 implementation is stable, IPv6 implementation is not done yet. The IPv4 implementation is stable, IPv6 implementation is not done yet.
@ -9,8 +11,7 @@ Run Clippy by doing
cargo test --features "dev" cargo test --features "dev"
``` ```
Installation ### Installation
=============
This crate works with Cargo. Assuming you have Rust and Cargo installed, simply check out the source and run tests: This crate works with Cargo. Assuming you have Rust and Cargo installed, simply check out the source and run tests:
``` ```
git clone https://github.com/achanda/ipnetwork git clone https://github.com/achanda/ipnetwork

View File

@ -1,5 +1,6 @@
use std::net::Ipv4Addr; use std::net::Ipv4Addr;
/// Represents a bunch of errors that can occur while working with a `IpNetwork`
#[derive(Debug,Clone,PartialEq,Eq)] #[derive(Debug,Clone,PartialEq,Eq)]
pub enum IpNetworkError { pub enum IpNetworkError {
InvalidAddr(String), InvalidAddr(String),

View File

@ -6,6 +6,7 @@ use common::{IpNetworkError, cidr_parts, parse_prefix, parse_addr};
const IPV4_BITS: u8 = 32; const IPV4_BITS: u8 = 32;
/// Represents a network range where the IP addresses are of v4
#[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)] #[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)]
pub struct Ipv4Network { pub struct Ipv4Network {
addr: Ipv4Addr, addr: Ipv4Addr,

View File

@ -8,6 +8,7 @@ use common::{IpNetworkError, cidr_parts, parse_prefix};
const IPV6_BITS: u8 = 128; const IPV6_BITS: u8 = 128;
const IPV6_SEGMENT_BITS: u8 = 16; const IPV6_SEGMENT_BITS: u8 = 16;
/// Represents a network range where the IP addresses are of v6
#[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)] #[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)]
pub struct Ipv6Network { pub struct Ipv6Network {
addr: Ipv6Addr, addr: Ipv6Addr,

View File

@ -1,3 +1,6 @@
//! The `ipnetwork` crate provides a set of APIs to work with IP CIDRs in
//! Rust. Implementation for IPv4 is more or less stable, IPv6 implementation
//! 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))]
#![crate_type = "lib"] #![crate_type = "lib"]
@ -12,7 +15,8 @@ pub use ipv4::{Ipv4Network, ipv4_mask_to_prefix};
pub use ipv6::{Ipv6Network, ipv6_mask_to_prefix}; pub use ipv6::{Ipv6Network, ipv6_mask_to_prefix};
pub use common::IpNetworkError; pub use common::IpNetworkError;
// A network /// Represents a generic network range. This type can have two variants:
/// the v4 and the v6 case.
#[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)] #[derive(Debug,Clone,Copy,Hash,PartialEq,Eq)]
pub enum IpNetwork { pub enum IpNetwork {
V4(Ipv4Network), V4(Ipv4Network),