safina-timer

crates.io version license: Apache 2.0 unsafe forbidden pipeline status

This is a safe Rust library providing async sleep_for and sleep_until functions. These functions return futures that complete at the specified time.

It is part of safina, a safe async runtime.

Features

Limitations

Examples

rust safina_timer::start_timer_thread(); safina_timer::sleep_for(Duration::from_secs(10)).await;

rust safina_timer::start_timer_thread(); let deadline = Instant::now() + Duration::from_millis(500); safina_timer::sleep_until(deadline).await;

rust use safina_timer::with_deadline; safina_timer::start_timer_thread(); let deadline = Instant::now() + Duration::from_millis(500); let req = with_deadline(read_request(), deadline).await??; let data = with_deadline(read_data(req), deadline).await??; with_deadline(write_data(data), deadline).await??; with_deadline(send_response(data), deadline).await??;

rust use safina_timer::with_timeout; safina_timer::start_timer_thread(); let req = with_timeout( read_request(), Duration::from_millis(500) ).await??; let data = with_timeout( read_data(req), Duration::from_millis(1000) ).await??; with_timeout( write_data(data), Duration::from_millis(1000) ).await??; with_timeout( send_response(data), Duration::from_millis(5000) ).await??;

Documentation

https://docs.rs/safina-timer

Alternatives

  1. Edit Cargo.toml and bump version number.
  2. Run ./release.sh

Changelog

TO DO

License: Apache-2.0