From 909d3ec0ff205cc5be1e31b8c3c22a4f0916bb47 Mon Sep 17 00:00:00 2001 From: Francis Murillo Date: Sun, 29 Aug 2021 22:30:13 +0800 Subject: [PATCH] stream: add `From>` impl for receiver streams (#4080) --- tokio-stream/src/wrappers/broadcast.rs | 6 ++++++ tokio-stream/src/wrappers/mpsc_bounded.rs | 6 ++++++ tokio-stream/src/wrappers/mpsc_unbounded.rs | 6 ++++++ tokio-stream/src/wrappers/watch.rs | 8 +++++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/tokio-stream/src/wrappers/broadcast.rs b/tokio-stream/src/wrappers/broadcast.rs index 3bddbb741..c8346a68e 100644 --- a/tokio-stream/src/wrappers/broadcast.rs +++ b/tokio-stream/src/wrappers/broadcast.rs @@ -71,3 +71,9 @@ impl fmt::Debug for BroadcastStream { f.debug_struct("BroadcastStream").finish() } } + +impl From> for BroadcastStream { + fn from(recv: Receiver) -> Self { + Self::new(recv) + } +} diff --git a/tokio-stream/src/wrappers/mpsc_bounded.rs b/tokio-stream/src/wrappers/mpsc_bounded.rs index e4f900009..b5362680e 100644 --- a/tokio-stream/src/wrappers/mpsc_bounded.rs +++ b/tokio-stream/src/wrappers/mpsc_bounded.rs @@ -57,3 +57,9 @@ impl AsMut> for ReceiverStream { &mut self.inner } } + +impl From> for ReceiverStream { + fn from(recv: Receiver) -> Self { + Self::new(recv) + } +} diff --git a/tokio-stream/src/wrappers/mpsc_unbounded.rs b/tokio-stream/src/wrappers/mpsc_unbounded.rs index bc5f40cdc..54597b7f6 100644 --- a/tokio-stream/src/wrappers/mpsc_unbounded.rs +++ b/tokio-stream/src/wrappers/mpsc_unbounded.rs @@ -51,3 +51,9 @@ impl AsMut> for UnboundedReceiverStream { &mut self.inner } } + +impl From> for UnboundedReceiverStream { + fn from(recv: UnboundedReceiver) -> Self { + Self::new(recv) + } +} diff --git a/tokio-stream/src/wrappers/watch.rs b/tokio-stream/src/wrappers/watch.rs index 1daca1010..bd3a18a58 100644 --- a/tokio-stream/src/wrappers/watch.rs +++ b/tokio-stream/src/wrappers/watch.rs @@ -59,7 +59,7 @@ async fn make_future( (result, rx) } -impl WatchStream { +impl WatchStream { /// Create a new `WatchStream`. pub fn new(rx: Receiver) -> Self { Self { @@ -94,3 +94,9 @@ impl fmt::Debug for WatchStream { f.debug_struct("WatchStream").finish() } } + +impl From> for WatchStream { + fn from(recv: Receiver) -> Self { + Self::new(recv) + } +}