diff options
Diffstat (limited to 'crates/tor-rtcompat')
| -rw-r--r-- | crates/tor-rtcompat/Cargo.toml | 1 | ||||
| -rw-r--r-- | crates/tor-rtcompat/src/compound.rs | 2 | ||||
| -rw-r--r-- | crates/tor-rtcompat/src/dyn_time.rs | 2 | ||||
| -rw-r--r-- | crates/tor-rtcompat/src/lib.rs | 12 | ||||
| -rw-r--r-- | crates/tor-rtcompat/src/scheduler.rs | 10 | ||||
| -rw-r--r-- | crates/tor-rtcompat/src/timer.rs | 5 | ||||
| -rw-r--r-- | crates/tor-rtcompat/src/traits.rs | 6 |
7 files changed, 20 insertions, 18 deletions
diff --git a/crates/tor-rtcompat/Cargo.toml b/crates/tor-rtcompat/Cargo.toml index e8b980209..2682ccfc0 100644 --- a/crates/tor-rtcompat/Cargo.toml +++ b/crates/tor-rtcompat/Cargo.toml @@ -107,6 +107,7 @@ tor-error = { version = "0.40.0", path = "../tor-error", features = ["tracing"] tor-general-addr = { version = "0.40.0", path = "../tor-general-addr" } tracing = "0.1.36" void = "1" +web-time-compat = { version = "0.1.0", path = "../web-time-compat" } zeroize = "1" [target.'cfg(not(all(target_arch="wasm32", target_os="unknown")))'.dependencies] diff --git a/crates/tor-rtcompat/src/compound.rs b/crates/tor-rtcompat/src/compound.rs index 715d40a65..041eccf49 100644 --- a/crates/tor-rtcompat/src/compound.rs +++ b/crates/tor-rtcompat/src/compound.rs @@ -10,9 +10,9 @@ use educe::Educe; use futures::{future::FutureObj, task::Spawn}; use std::future::Future; use std::io::Result as IoResult; -use std::time::{Instant, SystemTime}; use tor_general_addr::unix; use tracing::instrument; +use web_time_compat::{Instant, SystemTime}; /// A runtime made of several parts, each of which implements one trait-group. /// diff --git a/crates/tor-rtcompat/src/dyn_time.rs b/crates/tor-rtcompat/src/dyn_time.rs index f6d04c91e..80d46a19f 100644 --- a/crates/tor-rtcompat/src/dyn_time.rs +++ b/crates/tor-rtcompat/src/dyn_time.rs @@ -3,7 +3,7 @@ use std::future::Future; use std::mem::{self, MaybeUninit}; use std::pin::Pin; -use std::time::{Duration, Instant, SystemTime}; +use web_time_compat::{Duration, Instant, SystemTime}; use dyn_clone::DynClone; use educe::Educe; diff --git a/crates/tor-rtcompat/src/lib.rs b/crates/tor-rtcompat/src/lib.rs index 534275fdb..9d2e2b808 100644 --- a/crates/tor-rtcompat/src/lib.rs +++ b/crates/tor-rtcompat/src/lib.rs @@ -438,17 +438,17 @@ mod test { use std::io::Result as IoResult; use std::net::SocketAddr; use std::net::{Ipv4Addr, SocketAddrV4}; - use std::time::{Duration, Instant}; + use web_time_compat::{Duration, Instant, InstantExt, SystemTimeExt}; // Test "sleep" with a tiny delay, and make sure that at least that // much delay happens. fn small_delay<R: ToplevelRuntime>(runtime: &R) -> IoResult<()> { let rt = runtime.clone(); runtime.block_on(async { - let i1 = Instant::now(); + let i1 = Instant::get(); let one_msec = Duration::from_millis(1); rt.sleep(one_msec).await; - let i2 = Instant::now(); + let i2 = Instant::get(); assert!(i2 >= i1 + one_msec); }); Ok(()) @@ -488,14 +488,14 @@ mod test { fn tiny_wallclock<R: ToplevelRuntime>(runtime: &R) -> IoResult<()> { let rt = runtime.clone(); runtime.block_on(async { - let i1 = Instant::now(); + let i1 = Instant::get(); let now = runtime.wallclock(); let one_millis = Duration::from_millis(1); let one_millis_later = now + one_millis; rt.sleep_until_wallclock(one_millis_later).await; - let i2 = Instant::now(); + let i2 = Instant::get(); let newtime = runtime.wallclock(); assert!(newtime >= one_millis_later); assert!(i2 - i1 >= one_millis); @@ -687,7 +687,7 @@ mod test { let mut rng = tor_basic_utils::test_rng::testing_rng(); let tls_cert = tor_cert_x509::TlsKeyAndCert::create( &mut rng, - std::time::SystemTime::now(), + std::time::SystemTime::get(), "prospit.example.org", "derse.example.org", ) diff --git a/crates/tor-rtcompat/src/scheduler.rs b/crates/tor-rtcompat/src/scheduler.rs index ef41ea33e..a290e9ff6 100644 --- a/crates/tor-rtcompat/src/scheduler.rs +++ b/crates/tor-rtcompat/src/scheduler.rs @@ -7,7 +7,7 @@ use futures::{Stream, StreamExt}; use std::future::Future; use std::pin::Pin; use std::task::{Context, Poll}; -use std::time::{Duration, Instant, SystemTime}; +use web_time_compat::{Duration, Instant, SystemTime}; use pin_project::pin_project; @@ -267,7 +267,7 @@ mod test { use crate::{SleepProvider, test_with_all_runtimes}; use futures::FutureExt; use futures::StreamExt; - use std::time::{Duration, Instant}; + use web_time_compat::{Duration, Instant, InstantExt}; #[test] fn it_fires_immediately() { @@ -335,7 +335,7 @@ mod test { let (mut sch, hdl) = TaskSchedule::new(rt); assert!(sch.next().now_or_never().is_some()); - hdl.fire_at(Instant::now() + Duration::from_millis(100)); + hdl.fire_at(Instant::get() + Duration::from_millis(100)); assert!(sch.next().now_or_never().is_none()); assert!(sch.next().await.is_some()); @@ -354,7 +354,7 @@ mod test { let (mut sch, hdl) = TaskSchedule::new(rt.clone()); assert!(sch.next().now_or_never().is_some()); - hdl.fire_at(Instant::now() + Duration::from_millis(100)); + hdl.fire_at(Instant::get() + Duration::from_millis(100)); assert!(sch.next().now_or_never().is_none()); @@ -378,7 +378,7 @@ mod test { let (mut sch, hdl) = TaskSchedule::new(rt.clone()); assert!(sch.next().now_or_never().is_some()); - hdl.fire_at(Instant::now() + Duration::from_millis(100)); + hdl.fire_at(Instant::get() + Duration::from_millis(100)); hdl.fire(); assert!(sch.next().now_or_never().is_some()); diff --git a/crates/tor-rtcompat/src/timer.rs b/crates/tor-rtcompat/src/timer.rs index 26236d6a8..abb055af2 100644 --- a/crates/tor-rtcompat/src/timer.rs +++ b/crates/tor-rtcompat/src/timer.rs @@ -6,8 +6,8 @@ use pin_project::pin_project; use std::{ pin::Pin, task::{Context, Poll}, - time::{Duration, SystemTime}, }; +use web_time_compat::{Duration, SystemTime}; /// An error value given when a function times out. /// @@ -207,6 +207,7 @@ mod test { #![allow(clippy::needless_pass_by_value)] //! <!-- @@ end test lint list maintained by maint/add_warning @@ --> #![allow(clippy::erasing_op)] + use web_time_compat::SystemTimeExt; #[cfg(not(miri))] use super::*; @@ -219,7 +220,7 @@ mod test { } let minute = Duration::from_secs(60); let second = Duration::from_secs(1); - let start = SystemTime::now(); + let start = SystemTime::get(); let target = start + 30 * minute; diff --git a/crates/tor-rtcompat/src/traits.rs b/crates/tor-rtcompat/src/traits.rs index 3ff7b9d05..4ef6b5c71 100644 --- a/crates/tor-rtcompat/src/traits.rs +++ b/crates/tor-rtcompat/src/traits.rs @@ -9,8 +9,8 @@ use std::borrow::Cow; use std::fmt::Debug; use std::io::{self, Result as IoResult}; use std::net; -use std::time::{Duration, Instant, SystemTime}; use tor_general_addr::unix; +use web_time_compat::{Duration, Instant, InstantExt, SystemTime, SystemTimeExt}; #[cfg(feature = "tls-server")] use tor_cert_x509::TlsKeyAndCert; @@ -121,14 +121,14 @@ pub trait SleepProvider: Clone + Send + Sync + 'static { /// /// (This is the same as `Instant::now`, if not running in test mode.) fn now(&self) -> Instant { - Instant::now() + Instant::get() } /// Return the SleepProvider's view of the current wall-clock time. /// /// (This is the same as `SystemTime::now`, if not running in test mode.) fn wallclock(&self) -> SystemTime { - SystemTime::now() + SystemTime::get() } /// Signify that a test running under mock time shouldn't advance time yet, with a given |
