diff --git a/src/bootstrap/app.rs b/src/bootstrap/app.rs index 557203b0..7fb1bf7c 100644 --- a/src/bootstrap/app.rs +++ b/src/bootstrap/app.rs @@ -4,8 +4,10 @@ use std::sync::Arc; use torrust_tracker_configuration::Configuration; use crate::bootstrap::stats; +use crate::shared::clock::static_time; +use crate::shared::crypto::ephemeral_instance_keys; use crate::tracker::Tracker; -use crate::{bootstrap, ephemeral_instance_keys, static_time, tracker}; +use crate::{bootstrap, tracker}; /// # Panics /// diff --git a/src/lib.rs b/src/lib.rs index cf4439c3..bd775f8c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,22 +6,3 @@ pub mod tracker; #[macro_use] extern crate lazy_static; - -pub mod static_time { - use std::time::SystemTime; - - lazy_static! { - pub static ref TIME_AT_APP_START: SystemTime = SystemTime::now(); - } -} - -pub mod ephemeral_instance_keys { - use rand::rngs::ThreadRng; - use rand::Rng; - - pub type Seed = [u8; 32]; - - lazy_static! { - pub static ref RANDOM_SEED: Seed = Rng::gen(&mut ThreadRng::default()); - } -} diff --git a/src/shared/clock/mod.rs b/src/shared/clock/mod.rs index 399fb6b9..b5001e10 100644 --- a/src/shared/clock/mod.rs +++ b/src/shared/clock/mod.rs @@ -1,3 +1,4 @@ +pub mod static_time; pub mod time_extent; pub mod utils; @@ -289,8 +290,7 @@ mod stopped_clock { use std::cell::RefCell; use std::time::SystemTime; - use crate::shared::clock::DurationSinceUnixEpoch; - use crate::static_time; + use crate::shared::clock::{static_time, DurationSinceUnixEpoch}; pub fn get_app_start_time() -> DurationSinceUnixEpoch { (*static_time::TIME_AT_APP_START) diff --git a/src/shared/clock/static_time.rs b/src/shared/clock/static_time.rs new file mode 100644 index 00000000..f916cec9 --- /dev/null +++ b/src/shared/clock/static_time.rs @@ -0,0 +1,5 @@ +use std::time::SystemTime; + +lazy_static! { + pub static ref TIME_AT_APP_START: SystemTime = SystemTime::now(); +} diff --git a/src/shared/crypto.rs b/src/shared/crypto.rs index 848dcd36..c10a417c 100644 --- a/src/shared/crypto.rs +++ b/src/shared/crypto.rs @@ -1,8 +1,19 @@ +pub mod ephemeral_instance_keys { + use rand::rngs::ThreadRng; + use rand::Rng; + + pub type Seed = [u8; 32]; + + lazy_static! { + pub static ref RANDOM_SEED: Seed = Rng::gen(&mut ThreadRng::default()); + } +} + pub mod keys { pub mod seeds { use self::detail::CURRENT_SEED; - use crate::ephemeral_instance_keys::{Seed, RANDOM_SEED}; + use crate::shared::crypto::ephemeral_instance_keys::{Seed, RANDOM_SEED}; pub trait Keeper { type Seed: Sized + Default + AsMut<[u8]>; @@ -33,7 +44,7 @@ pub mod keys { mod tests { use super::detail::ZEROED_TEST_SEED; use super::{Current, Instance, Keeper}; - use crate::ephemeral_instance_keys::Seed; + use crate::shared::crypto::ephemeral_instance_keys::Seed; pub struct ZeroedTestSeed; @@ -58,7 +69,7 @@ pub mod keys { } mod detail { - use crate::ephemeral_instance_keys::Seed; + use crate::shared::crypto::ephemeral_instance_keys::Seed; #[allow(dead_code)] pub const ZEROED_TEST_SEED: &Seed = &[0u8; 32]; @@ -67,13 +78,13 @@ pub mod keys { pub use ZEROED_TEST_SEED as CURRENT_SEED; #[cfg(not(test))] - pub use crate::ephemeral_instance_keys::RANDOM_SEED as CURRENT_SEED; + pub use crate::shared::crypto::ephemeral_instance_keys::RANDOM_SEED as CURRENT_SEED; #[cfg(test)] mod tests { use std::convert::TryInto; - use crate::ephemeral_instance_keys::RANDOM_SEED; + use crate::shared::crypto::ephemeral_instance_keys::RANDOM_SEED; use crate::shared::crypto::keys::seeds::detail::ZEROED_TEST_SEED; use crate::shared::crypto::keys::seeds::CURRENT_SEED; diff --git a/tests/common/tracker.rs b/tests/common/tracker.rs index 1d06009b..92c1df7b 100644 --- a/tests/common/tracker.rs +++ b/tests/common/tracker.rs @@ -1,8 +1,10 @@ use std::sync::Arc; +use torrust_tracker::bootstrap; +use torrust_tracker::shared::clock::static_time; +use torrust_tracker::shared::crypto::ephemeral_instance_keys; use torrust_tracker::tracker::services::common::tracker_factory; use torrust_tracker::tracker::Tracker; -use torrust_tracker::{bootstrap, ephemeral_instance_keys, static_time}; // TODO: Move to test-helpers crate once `Tracker` is isolated. #[allow(clippy::module_name_repetitions)]