Module nom::producer [] [src]

Data producers

The goal of data producers is to parse data as soon as it is generated.

Example

 use std::str;
 fn local_print<'a, T: Debug>(input: T) -> IResult<'a, T, ()> {
   println!("{:?}", input);
   Done(input, ())
 }

 // create a data producer from a file
 FileProducer::new("links.txt", 20).map(|producer: FileProducer| {
   let mut p = producer;

   // adapt the parsing function to the producer
   pusher!(push, local_print);
   // get started
   push(&mut p);
 });

Structs

FileProducer

Can produce data from a file

MemProducer

Can parse data from an already in memory byte array

Enums

ProducerState

Holds the data producer's current state

Traits

Producer

A producer implements the produce method, currently working with u8 arrays