timer-deque-rs 0.7.0

A OS based timer and timer queue which implements timeout queues of different types.
Documentation
use std::{borrow::Cow, cmp::Ordering, time::Instant};

use timer_deque_rs::
{
    AbsoluteTime, timer_portable::
    {
        FdTimerCom, TimerExpMode, TimerFlags, TimerType, timer::{FdTimerRead, TimerFd}
    }
};

fn main()
{
    // timer initialization as blocking
    let timer = 
        TimerFd::new(Cow::Borrowed("test"), TimerType::CLOCK_REALTIME, 
            TimerFlags::empty()).unwrap();

    let s = Instant::now();

    let abs_time = AbsoluteTime::now().add_sec(3);
    let exp_time = 
         TimerExpMode::<AbsoluteTime>::new_oneshot(abs_time);

    // setting timer
    let res = timer.get_timer().set_time(exp_time);
    
    println!("timer was set: '{}'", exp_time);

    assert_eq!(res.is_ok(), true, "{}", res.err().unwrap());

    
    let ovf = timer.get_timer().read().unwrap().unwrap();

    let now_abs = AbsoluteTime::now();
    let e = s.elapsed();

    assert_eq!(ovf, 1);
    assert_eq!(abs_time.seconds_cmp(&now_abs) == Ordering::Equal, true);

    println!("elapsed: {:?}, now: {}, set: {}", e, now_abs, abs_time);

    assert_eq!((e.as_millis() <= 3100), true);

    println!("Success");
    return;
}