timeout

Deadline and Timeout Utilities

Functions

FunctionDescription
timeout_nowGet current time in milliseconds since epoch.
timeout_deadlineCreate a deadline ms milliseconds from now.
timeout_remainingMilliseconds remaining until deadline (0 if expired).
timeout_expiredCheck if deadline has passed.
timeout_sleep_msSleep for ms milliseconds using nanosleep.
timeout_elapsedMilliseconds elapsed since a start timestamp.
timeout_timer_startStart a timer. Returns current time in ms.
timeout_timer_stopStop a timer. Returns elapsed milliseconds.
timeout_print_intInternal: print integer to stdout.
timeout_timer_printPrint “label: Nms\n” for profiling.

Details

timeout_now

fn timeout_now() -> i64

Get current time in milliseconds since epoch.

timeout_deadline

fn timeout_deadline(ms: i64) -> i64

Create a deadline ms milliseconds from now.

timeout_remaining

fn timeout_remaining(deadline: i64) -> i64

Milliseconds remaining until deadline (0 if expired).

timeout_expired

fn timeout_expired(deadline: i64) -> i64

Check if deadline has passed.

timeout_sleep_ms

fn timeout_sleep_ms(ms: i64)

Sleep for ms milliseconds using nanosleep.

timeout_elapsed

fn timeout_elapsed(start: i64) -> i64

Milliseconds elapsed since a start timestamp.

timeout_timer_start

fn timeout_timer_start() -> i64

Start a timer. Returns current time in ms.

timeout_timer_stop

fn timeout_timer_stop(start: i64) -> i64

Stop a timer. Returns elapsed milliseconds.

timeout_print_int

fn timeout_print_int(val: i64)

Internal: print integer to stdout.

timeout_timer_print

fn timeout_timer_print(label: &i8, llen: i64, start: i64)

Print “label: Nms\n” for profiling.