covert_common 0.1.3

Helper library for creating covert tunnels on an unreliable channel
Documentation
#[cfg(test)]
mod test {

    use crate::CovertChannel;
    use rand::prelude::*;

    #[test]
    fn test() {
        let mut chan1: CovertChannel<Vec<u32>, 2> = CovertChannel::new([5; 32]);
        let mut chan2: CovertChannel<Vec<u32>, 3> = CovertChannel::new([5; 32]);
        chan1.put_message(vec![20; 50], 1);
        chan1.put_message(vec![10; 50], 2);
        for _ in 0..20 {
            let pkt = chan1.get_packet(1);
            println!("{:?}", pkt.len());
            if random() {
                chan2.put_packet(pkt.as_slice()).expect("can put packet");
            };
            let pkt = chan2.get_packet(1);
            println!("{:?}", pkt.len());
            if random() {
                chan1.put_packet(pkt.as_slice()).expect("can put packet");
            }
            let pkt = chan1.get_packet(2);
            if random() {
                chan2.put_packet(pkt.as_slice()).expect("can put packet");
            };
            let pkt = chan2.get_packet(2);
            if random() {
                chan1.put_packet(pkt.as_slice()).expect("can put packet");
            }
        }
        println!("{:?}", chan2.get_message(1));
        println!("{:?}", chan2.get_message(2));
    }
}