macro_rules! delay {
(0) => { ... };
($amount:tt ns) => { ... };
($amount:tt nsec) => { ... };
($amount:tt nsecs) => { ... };
($amount:tt us) => { ... };
($amount:tt usec) => { ... };
($amount:tt usecs) => { ... };
($amount:tt ms) => { ... };
($amount:tt msec) => { ... };
($amount:tt msecs) => { ... };
($amount:tt s) => { ... };
($amount:tt sec) => { ... };
($amount:tt secs) => { ... };
($amount:tt second) => { ... };
($amount:tt seconds) => { ... };
($amount:tt min) => { ... };
($amount:tt mins) => { ... };
($amount:tt minute) => { ... };
($amount:tt minutes) => { ... };
($amount:tt h) => { ... };
($amount:tt hour) => { ... };
($amount:tt hours) => { ... };
($amount:tt d) => { ... };
($amount:tt day) => { ... };
($amount:tt days) => { ... };
($amount:tt week) => { ... };
($amount:tt weeks) => { ... };
($amount:tt $i:ident) => { ... };
}Expand description
Creates a Duration value using the same syntax as in LF.
use std::time::Duration;
use reactor_rt::delay;
assert_eq!(delay!(10 ns), Duration::from_nanos(10));
assert_eq!(delay!(10 ms), delay!(10 msec));
assert_eq!(delay!(10 msec), Duration::from_millis(10));
assert_eq!(delay!(10 sec), Duration::from_secs(10));
assert_eq!(delay!(2 min), delay!(120 s));
assert_eq!(delay!(0), Duration::from_secs(0));
let x = 2;
assert_eq!(delay!(x min), delay!(120 s));
assert_eq!(delay!((1+2) min), delay!(180 s));
// more verbose aliases
assert_eq!(delay!(2 min), delay!(2 minutes));
assert_eq!(delay!(2 h), delay!(2 hours));
assert_eq!(delay!(1 week), delay!(7 days));