jrinx_apex/
time.rs

1use crate::bindings::*;
2
3pub const APEX_TIME_INFINITY: ApexSystemTime = -1;
4
5pub type ApexSystemTime = ApexLongInteger;
6
7pub fn time_as_duration(time: ApexSystemTime) -> core::time::Duration {
8    if time == APEX_TIME_INFINITY {
9        core::time::Duration::MAX
10    } else {
11        core::time::Duration::from_nanos(time as u64)
12    }
13}
14
15pub fn duration_as_time(duration: core::time::Duration) -> ApexSystemTime {
16    if duration == core::time::Duration::MAX {
17        APEX_TIME_INFINITY
18    } else {
19        duration.as_nanos() as ApexSystemTime
20    }
21}