メモ
.rs
use std::time::Duration;
use tokio::time::sleep;
use futures::Stream;
use async_stream::stream;
fn timer_stream(dur: Duration) -> impl Stream<Item = bool> {
stream! {
// 最初に一度だけ false を流す
yield false;
// 指定時間だけ待つ
sleep(dur).await;
// 満了したら true を返して終了
yield true;
}
}