diff --git a/src/fixers.rs b/src/fixers.rs index f134b73..dbbba52 100644 --- a/src/fixers.rs +++ b/src/fixers.rs @@ -99,6 +99,17 @@ pub struct Throttle { sleep: Delay } +impl Throttle { + pub fn new(wrap: S) -> Throttle { + let now = Instant::now(); + Throttle { + stream: wrap, + start_time: now, + sleep: delay(now) + } + } +} + impl + Unpin> Stream for Throttle { type Item = Result; @@ -138,12 +149,7 @@ pub trait ChunkStream where Self : Sized + TryStream { } fn throttle(self) -> Throttle { - let now = Instant::now(); - Throttle { - stream: self, - start_time: now, - sleep: delay(now) - } + Throttle::new(self) } }