safina-timer

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

Provides async sleep_for and sleep_until functions.

This crate is part of safina, a safe async runtime.

Features

Limitations

Examples

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

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

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

rust safina_timer::start_timer_thread(); let req = safina_timer::with_timeout( read_request(), Duration::from_secs(1) ).await??; let data = safina_timer::with_timeout( read_data(req), Duration::from_secs(2) ).await??; safina_timer::with_timeout( write_data(data), Duration::from_secs(2) ).await??; safina_timer::with_timeout( send_response(data), Duration::from_secs(1) ).await??;

Documentation

https://docs.rs/safina-timer

Alternatives

Changelog

TO DO

Release Process

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

License: Apache-2.0