zoneparser 0.1.6

A fast zonefile parser
Documentation
# ZoneParser: A zonefile parser with good performance

The ZoneParser is a DNS zonefile parser. It has been designed to have a good
performance with regards to cpu and memory consumption. It works well with
large zonefiles. The code is in an early stage of development and still has
a somewhat limited functionality.

## Usage

The parser is constructed with a file as input. It then works as an iterator
yielding the resource records of the zone. An example:

```use std::fs::File;
use zoneparser::ZoneParser;

fn main() {
  let file = File::open("my-zone.no").unwrap();
  let p = ZoneParser::new(&file, "my-zone.no");

  for next in p {
    match next {
      Err(e) => {
        println!("Parse error: {}", e);
        break;
      },
      Ok(rr) => {
        println!("{}", rr);
      },
    }
  }
}
```

For further examples, see the included command line tools `zonecount`
and `zonediff`.

## Missing features

- Only the common record fields are parsed. Content specific to the
  record types are returned as anonymous data fields. A later version
  might support parsing the data content as a secondary function call.

## Contributing

The limited functionality very much reflects the needs I had when I
wrote the library.  If you find it useful, and miss some
functionality, please let me know. It might motivate me to further
development. Bug reports are always welcome.