share_memory 0.1.1

This is share memory impl multi process for rust
Documentation
extern crate share_memory;
extern crate time;
use share_memory::ShareMemory;

type ARRAY = [i32; 80];

fn test1() {
    let size : usize = std::mem::size_of::<ARRAY>();
    let now = time::precise_time_ns() / 1000 as u64;
    println!("now = {:?}", now);
    let mut share = ShareMemory::new(String::from("."), size * 2, None).unwrap();
    if now % 2 == 0 {
        if let Some(addr) = share.offset_memory(size).ok().unwrap() {
            let data: &mut ARRAY = unsafe {
                std::mem::transmute(addr)
            };

            data[0] += 1;
            println!("{:?}", data[0]);
        }
    } else {
        if let Some(addr) = share.first_memory().ok().unwrap() {
            let data: &mut ARRAY = unsafe {
                std::mem::transmute(addr)
            };

            data[0] += 1;
            println!("{:?}", data[0]);
        }
    }
    loop {

    }
}

fn test2() {
    let size : usize = std::mem::size_of::<ARRAY>();
    let now = time::precise_time_ns() / 1000 as u64;
    println!("now = {:?}", now);
    let mut share = if now % 2 == 0 {
        ShareMemory::new(String::from(".11"), size * 2, None).unwrap()
    } else {
        ShareMemory::new(String::from(".11"), size * 2, None).unwrap()
    };
    if let Some(addr) = share.first_memory().ok().unwrap() {
        println!("addr = {:?}", addr);
        let data: &mut ARRAY = unsafe {
            std::mem::transmute(addr)
        };
        data[0] += 1;
        println!("{:?}", data[0]);
    }
    loop {

    }
}
fn main () {
    test2();
}