2018-06-06 16:04:39 -07:00
|
|
|
//! A configurable source of time.
|
|
|
|
|
//!
|
|
|
|
|
//! This module provides an API to get the current instant in such a way that
|
|
|
|
|
//! the source of time may be configured. This allows mocking out the source of
|
|
|
|
|
//! time in tests.
|
|
|
|
|
//!
|
2019-01-12 19:06:55 +01:00
|
|
|
//! The [`now`][n] function returns the current [`Instant`]. By default, it delegates
|
|
|
|
|
//! to [`Instant::now`].
|
2018-06-06 16:04:39 -07:00
|
|
|
//!
|
2018-06-13 09:02:46 -07:00
|
|
|
//! The source of time used by [`now`][n] can be configured by implementing the
|
2018-06-06 16:04:39 -07:00
|
|
|
//! [`Now`] trait and passing an instance to [`with_default`].
|
|
|
|
|
//!
|
|
|
|
|
//! [n]: fn.now.html
|
|
|
|
|
//! [`Now`]: trait.Now.html
|
2019-01-12 19:06:55 +01:00
|
|
|
//! [`Instant`]: https://doc.rust-lang.org/std/time/struct.Instant.html
|
|
|
|
|
//! [`Instant::now`]: https://doc.rust-lang.org/std/time/struct.Instant.html#method.now
|
2018-06-06 16:04:39 -07:00
|
|
|
//! [`with_default`]: fn.with_default.html
|
|
|
|
|
|
|
|
|
|
mod clock;
|
|
|
|
|
mod now;
|
|
|
|
|
|
2019-02-21 11:56:15 -08:00
|
|
|
pub use self::clock::{now, with_default, Clock};
|
2018-06-06 16:04:39 -07:00
|
|
|
pub use self::now::Now;
|