//! The `Runtime` trait.
use fmt;
use Duration;
use crate::;
/// What a polyoxide crate needs of an async runtime: a detached spawn, a
/// sleep, and a monotonic clock. Everything else in this crate (`spawn`'s
/// `Task`, `timeout`, `Interval`) is built on these, so an implementor writes
/// only these.
///
/// A client takes its runtime from its builder, and falls back to
/// `default_runtime()`; nothing is process-wide.