async_rx

Struct DedupByKey

Source
pub struct DedupByKey<S, T, F> { /* private fields */ }
Expand description

Stream adapter produced by StreamExt::dedup_by_key.

Trait Implementations§

Source§

impl<S, T, F> Stream for DedupByKey<S, T, F>
where S: Stream, T: PartialEq, F: FnMut(&S::Item) -> T,

Source§

type Item = <S as Stream>::Item

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<S::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
Source§

impl<'__pin, S, T, F> Unpin for DedupByKey<S, T, F>
where PinnedFieldsOf<__Origin<'__pin, S, T, F>>: Unpin,

Auto Trait Implementations§

§

impl<S, T, F> Freeze for DedupByKey<S, T, F>
where S: Freeze, F: Freeze, T: Freeze,

§

impl<S, T, F> RefUnwindSafe for DedupByKey<S, T, F>

§

impl<S, T, F> Send for DedupByKey<S, T, F>
where S: Send, F: Send, T: Send,

§

impl<S, T, F> Sync for DedupByKey<S, T, F>
where S: Sync, F: Sync, T: Sync,

§

impl<S, T, F> UnwindSafe for DedupByKey<S, T, F>
where S: UnwindSafe, F: UnwindSafe, T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<S> StreamExt for S
where S: Stream,

Source§

fn dedup(self) -> Dedup<Self>
where Self::Item: Clone + PartialEq,

Deduplicate consecutive identical items. Read more
Source§

fn dedup_by_key<T, F>(self, key_fn: F) -> DedupByKey<Self, T, F>
where T: PartialEq, F: FnMut(&Self::Item) -> T,

Deduplicate consecutive items that the given function produces the same key for.
Source§

fn batch_with<S>(self, batch_done_stream: S) -> BatchWith<Self, S>
where S: Stream<Item = ()>,

Buffer the items from self until batch_done_stream produces a value, and return all buffered values in one batch. Read more
Source§

fn switch(self) -> Switch<Self>
where Self::Item: Stream,

Flattens a stream of streams by always keeping one inner stream and yielding its items until the outer stream produces a new inner stream, at which point the inner stream to yield items from is switched to the new one. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more