cram 0.1.2

Cram realy awesome middleware
Documentation
use crossbeam::Receiver;
use std::boxed::Box;
use std::vec::Vec;
use std::thread;

use super::Simple;

impl Simple {
    pub fn new<F>(fun: F, input_channel : Receiver<Vec<u8>> ) -> Simple
    where
        F: FnMut(Vec<u8>) + Send + Sync + 'static,
    {   
        Simple {
            input_channel : input_channel,
            handler : Box::new(fun),
        }
    }

    pub fn start(mut self){
        thread::spawn(move || loop {
            let vec;  
            match self.input_channel.recv() {
                Ok(val) => vec = val,
                Err(_e) => break,
            }
            (self.handler)(vec);    
        });
    }
}