mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-25 00:00:18 +02:00
31 lines
618 B
Rust
31 lines
618 B
Rust
#![warn(rust_2018_idioms)]
|
|
#![cfg(feature = "full")]
|
|
|
|
use tokio::time::{self, throttle};
|
|
use tokio_test::*;
|
|
|
|
use std::time::Duration;
|
|
|
|
#[tokio::test]
|
|
async fn usage() {
|
|
time::pause();
|
|
|
|
let mut stream = task::spawn(throttle(
|
|
Duration::from_millis(100),
|
|
futures::stream::repeat(()),
|
|
));
|
|
|
|
assert_ready!(stream.poll_next());
|
|
assert_pending!(stream.poll_next());
|
|
|
|
time::advance(Duration::from_millis(90)).await;
|
|
|
|
assert_pending!(stream.poll_next());
|
|
|
|
time::advance(Duration::from_millis(101)).await;
|
|
|
|
assert!(stream.is_woken());
|
|
|
|
assert_ready!(stream.poll_next());
|
|
}
|