Struct rxrust::ops::group_by::KeyObservable
source · pub struct KeyObservable<Key, Subject> {
pub key: Key,
/* private fields */
}Expand description
Observable used to keep track of the key of the items emitted by the contained subject.
Fields§
§key: KeyTrait Implementations§
source§impl<Key: Clone, Subject: Clone> Clone for KeyObservable<Key, Subject>
impl<Key: Clone, Subject: Clone> Clone for KeyObservable<Key, Subject>
source§fn clone(&self) -> KeyObservable<Key, Subject>
fn clone(&self) -> KeyObservable<Key, Subject>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<Key, Item, Err, O, Subject> Observable<Item, Err, O> for KeyObservable<Key, Subject>where
Subject: Observable<Item, Err, O>,
O: Observer<Item, Err>,
impl<Key, Item, Err, O, Subject> Observable<Item, Err, O> for KeyObservable<Key, Subject>where Subject: Observable<Item, Err, O>, O: Observer<Item, Err>,
type Unsub = <Subject as Observable<Item, Err, O>>::Unsub
fn actual_subscribe(self, observer: O) -> Self::Unsub
source§impl<'a, Source, Discr, Key, Item, Err, O> Observable<KeyObservable<Key, Subject<'a, Item, Err>>, Err, O> for GroupByOp<Source, Discr, Subject<'a, Item, Err>>where
O: Observer<KeyObservable<Key, Subject<'a, Item, Err>>, Err>,
Source: Observable<Item, Err, GroupByObserver<O, Discr, Key, Subject<'a, Item, Err>>>,
Discr: FnMut(&Item) -> Key,
Key: Hash + Eq + Clone,
Item: Clone,
Err: Clone,
impl<'a, Source, Discr, Key, Item, Err, O> Observable<KeyObservable<Key, Subject<'a, Item, Err>>, Err, O> for GroupByOp<Source, Discr, Subject<'a, Item, Err>>where O: Observer<KeyObservable<Key, Subject<'a, Item, Err>>, Err>, Source: Observable<Item, Err, GroupByObserver<O, Discr, Key, Subject<'a, Item, Err>>>, Discr: FnMut(&Item) -> Key, Key: Hash + Eq + Clone, Item: Clone, Err: Clone,
type Unsub = <Source as Observable<Item, Err, GroupByObserver<O, Discr, Key, Subject<'a, Item, Err>>>>::Unsub
fn actual_subscribe(self, observer: O) -> Self::Unsub
source§impl<Source, Discr, Key, Item, Err, O> Observable<KeyObservable<Key, SubjectThreads<Item, Err>>, Err, O> for GroupByOp<Source, Discr, SubjectThreads<Item, Err>>where
O: Observer<KeyObservable<Key, SubjectThreads<Item, Err>>, Err>,
Source: Observable<Item, Err, GroupByObserver<O, Discr, Key, SubjectThreads<Item, Err>>>,
Discr: FnMut(&Item) -> Key,
Key: Hash + Eq + Clone,
Item: Clone,
Err: Clone,
impl<Source, Discr, Key, Item, Err, O> Observable<KeyObservable<Key, SubjectThreads<Item, Err>>, Err, O> for GroupByOp<Source, Discr, SubjectThreads<Item, Err>>where O: Observer<KeyObservable<Key, SubjectThreads<Item, Err>>, Err>, Source: Observable<Item, Err, GroupByObserver<O, Discr, Key, SubjectThreads<Item, Err>>>, Discr: FnMut(&Item) -> Key, Key: Hash + Eq + Clone, Item: Clone, Err: Clone,
type Unsub = <Source as Observable<Item, Err, GroupByObserver<O, Discr, Key, SubjectThreads<Item, Err>>>>::Unsub
fn actual_subscribe(self, observer: O) -> Self::Unsub
source§impl<Item, Err, Key, Subject> ObservableExt<Item, Err> for KeyObservable<Key, Subject>where
Subject: Observer<Item, Err>,
impl<Item, Err, Key, Subject> ObservableExt<Item, Err> for KeyObservable<Key, Subject>where Subject: Observer<Item, Err>,
source§fn first_or(self, default: Item) -> DefaultIfEmptyOp<TakeOp<Self>, Item>
fn first_or(self, default: Item) -> DefaultIfEmptyOp<TakeOp<Self>, Item>
emit only the first item emitted by an Observable
source§fn last_or(self, default: Item) -> DefaultIfEmptyOp<LastOp<Self, Item>, Item>
fn last_or(self, default: Item) -> DefaultIfEmptyOp<LastOp<Self, Item>, Item>
Emit only the last final item emitted by a source observable or a
default item given. Read more
source§fn element_at(self, nth: usize) -> TakeOp<SkipOp<Self>>
fn element_at(self, nth: usize) -> TakeOp<SkipOp<Self>>
Emit only item n (0-indexed) emitted by an Observable
source§fn ignore_elements(self) -> FilterOp<Self, fn(_: &Item) -> bool>
fn ignore_elements(self) -> FilterOp<Self, fn(_: &Item) -> bool>
Do not emit any items from an Observable but mirror its termination
notification
source§fn all<F>(
self,
pred: F
) -> DefaultIfEmptyOp<TakeOp<FilterOp<MapOp<Self, F, Item>, fn(_: &bool) -> bool>>, bool>where
F: Fn(Item) -> bool,
fn all<F>( self, pred: F ) -> DefaultIfEmptyOp<TakeOp<FilterOp<MapOp<Self, F, Item>, fn(_: &bool) -> bool>>, bool>where F: Fn(Item) -> bool,
Determine whether all items emitted by an Observable meet some criteria
source§fn contains(self, target: Item) -> ContainsOp<Self, Item>
fn contains(self, target: Item) -> ContainsOp<Self, Item>
Determine whether an Observable emits a particular item or not
source§fn last(self) -> LastOp<Self, Item>
fn last(self) -> LastOp<Self, Item>
Emits only last final item emitted by a source observable. Read more
source§fn finalize<F>(self, f: F) -> FinalizeOp<Self, F>where
F: FnMut(),
fn finalize<F>(self, f: F) -> FinalizeOp<Self, F>where F: FnMut(),
Call a function when observable completes, errors or is unsubscribed from.
source§fn finalize_threads<F>(self, f: F) -> FinalizeOpThreads<Self, F>where
F: FnMut(),
fn finalize_threads<F>(self, f: F) -> FinalizeOpThreads<Self, F>where F: FnMut(),
A threads safe version of
finalizesource§fn flatten<'a, Item2, Err2>(self) -> MergeAllOp<'a, Self, Item>where
Item: ObservableExt<Item2, Err2>,
fn flatten<'a, Item2, Err2>(self) -> MergeAllOp<'a, Self, Item>where Item: ObservableExt<Item2, Err2>,
Creates an Observable that combines all the emissions from Observables
that get emitted from an Observable. Read more
source§fn flatten_threads<Item2, Err2>(self) -> MergeAllOpThreads<Self, Item>where
Item: ObservableExt<Item2, Err2>,
fn flatten_threads<Item2, Err2>(self) -> MergeAllOpThreads<Self, Item>where Item: ObservableExt<Item2, Err2>,
A threads safe version of
flattensource§fn flat_map<'a, V, Item2, F>(self, f: F) -> FlatMapOp<'a, Self, V, F, Item>where
F: Fn(Item) -> V,
MapOp<Self, F, Item>: ObservableExt<V, Err>,
V: ObservableExt<Item2, Err>,
fn flat_map<'a, V, Item2, F>(self, f: F) -> FlatMapOp<'a, Self, V, F, Item>where F: Fn(Item) -> V, MapOp<Self, F, Item>: ObservableExt<V, Err>, V: ObservableExt<Item2, Err>,
Applies given function to each item emitted by this Observable, where
that function returns an Observable that itself emits items. It then
merges the emissions of these resulting Observables, emitting these
merged results as its own sequence.
fn flat_map_threads<V, Item2, F>( self, f: F ) -> FlatMapOpThreads<Self, V, F, Item>where F: Fn(Item) -> V, MapOp<Self, F, Item>: ObservableExt<V, Err>, V: ObservableExt<Item2, Err>,
source§fn group_by<D, Key, Subject>(self, discr: D) -> GroupByOp<Self, D, Subject>where
D: FnMut(&Item) -> Key,
Key: Hash + Eq + Clone,
Subject: Clone + Default + Observer<Item, Err>,
fn group_by<D, Key, Subject>(self, discr: D) -> GroupByOp<Self, D, Subject>where D: FnMut(&Item) -> Key, Key: Hash + Eq + Clone, Subject: Clone + Default + Observer<Item, Err>,
Groups items emitted by the source Observable into Observables.
Each emitted Observable emits items matching the key returned
by the discriminator function. Read more
source§fn map<B, F>(self, f: F) -> MapOp<Self, F, Item>where
F: FnMut(Item) -> B,
fn map<B, F>(self, f: F) -> MapOp<Self, F, Item>where F: FnMut(Item) -> B,
Creates a new stream which calls a closure on each element and uses
its return as the value.
source§fn on_error_map<B, F>(self, f: F) -> OnErrorMapOp<Self, F, Err>where
F: FnMut(Err) -> B,
fn on_error_map<B, F>(self, f: F) -> OnErrorMapOp<Self, F, Err>where F: FnMut(Err) -> B,
Creates a new stream which calls a closure on each error and uses
its return as emitted error.
source§fn merge<S>(self, other: S) -> MergeOp<Self, S>where
S: ObservableExt<Item, Err>,
fn merge<S>(self, other: S) -> MergeOp<Self, S>where S: ObservableExt<Item, Err>,
combine two Observables into one by merging their emissions Read more
source§fn merge_threads<S>(self, other: S) -> MergeOpThreads<Self, S>where
S: ObservableExt<Item, Err>,
fn merge_threads<S>(self, other: S) -> MergeOpThreads<Self, S>where S: ObservableExt<Item, Err>,
A threads safe version of
mergesource§fn merge_all<'a, Item2>(self, concurrent: usize) -> MergeAllOp<'a, Self, Item>where
Item: ObservableExt<Item2, Err>,
fn merge_all<'a, Item2>(self, concurrent: usize) -> MergeAllOp<'a, Self, Item>where Item: ObservableExt<Item2, Err>,
Converts a higher-order Observable into a first-order Observable which
concurrently delivers all values that are emitted on the inner
Observables. Read more
source§fn merge_all_threads<Item2>(
self,
concurrent: usize
) -> MergeAllOpThreads<Self, Item>where
Item: ObservableExt<Item2, Err>,
fn merge_all_threads<Item2>( self, concurrent: usize ) -> MergeAllOpThreads<Self, Item>where Item: ObservableExt<Item2, Err>,
A threads safe version of
merge_allsource§fn filter<F>(self, filter: F) -> FilterOp<Self, F>where
F: Fn(&Item) -> bool,
fn filter<F>(self, filter: F) -> FilterOp<Self, F>where F: Fn(&Item) -> bool,
Emit only those items from an Observable that pass a predicate test Read more
source§fn filter_map<F, OutputItem>(self, f: F) -> FilterMapOp<Self, F, Item>where
F: FnMut(Item) -> Option<OutputItem>,
fn filter_map<F, OutputItem>(self, f: F) -> FilterMapOp<Self, F, Item>where F: FnMut(Item) -> Option<OutputItem>,
The closure must return an Option. filter_map creates an iterator which
calls this closure on each element. If the closure returns Some(element),
then that element is returned. If the closure returns None, it will try
again, and call the closure on the next element, seeing if it will return
Some. Read more
source§fn skip(self, count: usize) -> SkipOp<Self>
fn skip(self, count: usize) -> SkipOp<Self>
Ignore the first
count values emitted by the source Observable. Read moresource§fn skip_until<NotifyItem, NotifyErr, Other>(
self,
notifier: Other
) -> SkipUntilOp<Self, Other, NotifyItem, NotifyErr>where
Other: ObservableExt<NotifyItem, NotifyErr>,
fn skip_until<NotifyItem, NotifyErr, Other>( self, notifier: Other ) -> SkipUntilOp<Self, Other, NotifyItem, NotifyErr>where Other: ObservableExt<NotifyItem, NotifyErr>,
Discard items emitted by an Observable until a second Observable emits an item Read more
source§fn skip_until_threads<NotifyItem, NotifyErr, Other>(
self,
notifier: Other
) -> SkipUntilOpThreads<Self, Other, NotifyItem, NotifyErr>where
Other: ObservableExt<NotifyItem, NotifyErr>,
fn skip_until_threads<NotifyItem, NotifyErr, Other>( self, notifier: Other ) -> SkipUntilOpThreads<Self, Other, NotifyItem, NotifyErr>where Other: ObservableExt<NotifyItem, NotifyErr>,
A threads safe version of
skip_until_threadssource§fn skip_while<F>(self, predicate: F) -> SkipWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn skip_while<F>(self, predicate: F) -> SkipWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Discard items emitted by an Observable until a specified condition becomes false Read more
source§fn skip_last(self, count: usize) -> SkipLastOp<Self>
fn skip_last(self, count: usize) -> SkipLastOp<Self>
Ignore the last
count values emitted by the source Observable. Read moresource§fn take(self, count: usize) -> TakeOp<Self>
fn take(self, count: usize) -> TakeOp<Self>
Emits only the first
count values emitted by the source Observable. Read moresource§fn take_until<Notify, NotifyItem, NotifyErr>(
self,
notifier: Notify
) -> TakeUntilOp<Self, Notify, NotifyItem, NotifyErr>
fn take_until<Notify, NotifyItem, NotifyErr>( self, notifier: Notify ) -> TakeUntilOp<Self, Notify, NotifyItem, NotifyErr>
Emits the values emitted by the source Observable until a
notifier
Observable emits a value. Read morefn take_until_threads<Notify, NotifyItem, NotifyErr>( self, notifier: Notify ) -> TakeUntilOpThreads<Self, Notify, NotifyItem, NotifyErr>
source§fn take_while<F>(self, callback: F) -> TakeWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn take_while<F>(self, callback: F) -> TakeWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Emits values while result of an callback is true. Read more
source§fn take_while_inclusive<F>(self, callback: F) -> TakeWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn take_while_inclusive<F>(self, callback: F) -> TakeWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Emits values while result of an callback is true and the last one that
causes the callback to return false. Read more
source§fn take_last(self, count: usize) -> TakeLastOp<Self>
fn take_last(self, count: usize) -> TakeLastOp<Self>
Emits only the last
count values emitted by the source Observable. Read moresource§fn sample<Sample, SampleItem, SampleErr>(
self,
sampling: Sample
) -> SampleOp<Self, Sample, SampleItem>where
Sample: ObservableExt<SampleItem, SampleErr>,
fn sample<Sample, SampleItem, SampleErr>( self, sampling: Sample ) -> SampleOp<Self, Sample, SampleItem>where Sample: ObservableExt<SampleItem, SampleErr>,
Emits item it has most recently emitted since the previous sampling Read more
source§fn sample_threads<Sample, SampleItem, SampleErr>(
self,
sampling: Sample
) -> SampleOpThreads<Self, Sample, SampleItem>where
Sample: ObservableExt<SampleItem, SampleErr>,
fn sample_threads<Sample, SampleItem, SampleErr>( self, sampling: Sample ) -> SampleOpThreads<Self, Sample, SampleItem>where Sample: ObservableExt<SampleItem, SampleErr>,
A threads safe version of
samplesource§fn scan_initial<OutputItem, BinaryOp>(
self,
initial_value: OutputItem,
binary_op: BinaryOp
) -> ScanOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Clone,
fn scan_initial<OutputItem, BinaryOp>( self, initial_value: OutputItem, binary_op: BinaryOp ) -> ScanOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Clone,
The Scan operator applies a function to the first item emitted by the
source observable and then emits the result of that function as its
own first emission. It also feeds the result of the function back into
the function along with the second item emitted by the source observable
in order to generate its second emission. It continues to feed back its
own subsequent emissions along with the subsequent emissions from the
source Observable in order to create the rest of its sequence. Read more
source§fn scan<OutputItem, BinaryOp>(
self,
binary_op: BinaryOp
) -> ScanOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Default + Clone,
fn scan<OutputItem, BinaryOp>( self, binary_op: BinaryOp ) -> ScanOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Default + Clone,
Works like
scan_initial but starts with a
value defined by a Default trait for the first argument binary_op
operator operates on. Read moresource§fn reduce_initial<OutputItem, BinaryOp>(
self,
initial: OutputItem,
binary_op: BinaryOp
) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Clone,
fn reduce_initial<OutputItem, BinaryOp>( self, initial: OutputItem, binary_op: BinaryOp ) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Clone,
Apply a function to each item emitted by an observable, sequentially,
and emit the final value, after source observable completes. Read more
source§fn reduce<OutputItem, BinaryOp>(
self,
binary_op: BinaryOp
) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Default + Clone,
fn reduce<OutputItem, BinaryOp>( self, binary_op: BinaryOp ) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Default + Clone,
Works like
reduce_initial but starts with
a value defined by a Default trait for the first argument f
operator operates on. Read moresource§fn count(self) -> CountOp<Self, Item>
fn count(self) -> CountOp<Self, Item>
Emits the number of items emitted by a source observable when this source
completes. Read more
source§fn publish<Subject: Default>(self) -> ConnectableObservable<Self, Subject>
fn publish<Subject: Default>(self) -> ConnectableObservable<Self, Subject>
Returns a ConnectableObservable. A ConnectableObservable Observable
resembles an ordinary Observable, except that it does not begin emitting
items when it is subscribed to, but only when the Connect operator is
applied to it. In this way you can wait for all intended observers to
subscribe to the Observable before the Observable begins emitting items.
Returns a new Observable that multicast (shares) the original
Observable. As long as there is at least one Subscriber this
Observable will be subscribed and emitting data. When all subscribers
have unsubscribed it will unsubscribe from the source Observable.
Because the Observable is multicasting it makes the stream
hot.
This is an alias for publish().ref_count()source§fn delay<SD>(self, dur: Duration, scheduler: SD) -> DelayOp<Self, SD>
fn delay<SD>(self, dur: Duration, scheduler: SD) -> DelayOp<Self, SD>
Delays the emission of items from the source Observable by a given timeout
or until a given
Instant.source§fn delay_threads<SD>(
self,
dur: Duration,
scheduler: SD
) -> DelayOpThreads<Self, SD>
fn delay_threads<SD>( self, dur: Duration, scheduler: SD ) -> DelayOpThreads<Self, SD>
A threads safe version of
delayfn delay_at<SD>(self, at: Instant, scheduler: SD) -> DelayOp<Self, SD>
source§fn delay_at_threads<SD>(
self,
at: Instant,
scheduler: SD
) -> DelayOpThreads<Self, SD>
fn delay_at_threads<SD>( self, at: Instant, scheduler: SD ) -> DelayOpThreads<Self, SD>
A threads safe version of
delay_atsource§fn delay_subscription<SD>(
self,
dur: Duration,
scheduler: SD
) -> DelaySubscriptionOp<Self, SD>
fn delay_subscription<SD>( self, dur: Duration, scheduler: SD ) -> DelaySubscriptionOp<Self, SD>
It’s similar to delay but rather than timeshifting the emissions from
the source Observable, it timeshifts the moment of subscription to that
Observable.
fn delay_subscription_at<SD>( self, at: Instant, scheduler: SD ) -> DelaySubscriptionOp<Self, SD>
source§fn subscribe_on<SD>(self, scheduler: SD) -> SubscribeOnOP<Self, SD>
fn subscribe_on<SD>(self, scheduler: SD) -> SubscribeOnOP<Self, SD>
Specify the Scheduler on which an Observable will operate Read more
source§fn observe_on<SD>(self, scheduler: SD) -> ObserveOnOp<Self, SD>
fn observe_on<SD>(self, scheduler: SD) -> ObserveOnOp<Self, SD>
Re-emits all notifications from source Observable with specified
scheduler. Read more
source§fn observe_on_threads<SD>(self, scheduler: SD) -> ObserveOnOpThreads<Self, SD>
fn observe_on_threads<SD>(self, scheduler: SD) -> ObserveOnOpThreads<Self, SD>
A thread safe version of
observe_onsource§fn debounce<SD>(self, duration: Duration, scheduler: SD) -> DebounceOp<Self, SD>
fn debounce<SD>(self, duration: Duration, scheduler: SD) -> DebounceOp<Self, SD>
Emits a value from the source Observable only after a particular time span
has passed without another source emission.
source§fn throttle<SD, F>(
self,
duration_selector: F,
edge: ThrottleEdge,
scheduler: SD
) -> ThrottleOp<Self, SD, F>where
F: Fn(&Item) -> Duration,
fn throttle<SD, F>( self, duration_selector: F, edge: ThrottleEdge, scheduler: SD ) -> ThrottleOp<Self, SD, F>where F: Fn(&Item) -> Duration,
Emits a value from the source Observable, then ignores subsequent source
values for duration milliseconds, then repeats this process. Read more
source§fn throttle_time<SD>(
self,
duration: Duration,
edge: ThrottleEdge,
scheduler: SD
) -> ThrottleOp<Self, SD, Box<dyn Fn(&Item) -> Duration + Send + Sync>>where
Item: 'static,
fn throttle_time<SD>( self, duration: Duration, edge: ThrottleEdge, scheduler: SD ) -> ThrottleOp<Self, SD, Box<dyn Fn(&Item) -> Duration + Send + Sync>>where Item: 'static,
Emits a value from the source Observable, then ignores subsequent source
values for duration milliseconds, then repeats this process. Read more
source§fn distinct(self) -> DistinctOp<Self>
fn distinct(self) -> DistinctOp<Self>
Returns an Observable that emits all items emitted by the source
Observable that are distinct by comparison from previous items.
source§fn distinct_key<F>(self, key: F) -> DistinctKeyOp<Self, F>
fn distinct_key<F>(self, key: F) -> DistinctKeyOp<Self, F>
Variant of distinct that takes a key selector.
source§fn distinct_until_changed(self) -> DistinctUntilChangedOp<Self>
fn distinct_until_changed(self) -> DistinctUntilChangedOp<Self>
Only emit when the current value is different than the last
source§fn distinct_until_key_changed<F>(
self,
key: F
) -> DistinctUntilKeyChangedOp<Self, F>
fn distinct_until_key_changed<F>( self, key: F ) -> DistinctUntilKeyChangedOp<Self, F>
Variant of distinct_until_changed that takes a key selector.
source§fn zip<Other, Item2>(self, other: Other) -> ZipOp<Self, Other>where
Other: ObservableExt<Item2, Err>,
fn zip<Other, Item2>(self, other: Other) -> ZipOp<Self, Other>where Other: ObservableExt<Item2, Err>,
‘Zips up’ two observable into a single observable of pairs. Read more
source§fn zip_threads<Other, Item2>(self, other: Other) -> ZipOpThreads<Self, Other>where
Other: ObservableExt<Item2, Err>,
fn zip_threads<Other, Item2>(self, other: Other) -> ZipOpThreads<Self, Other>where Other: ObservableExt<Item2, Err>,
A threads safe version of
zipsource§fn with_latest_from<From, OtherItem>(
self,
from: From
) -> WithLatestFromOp<Self, From>where
From: ObservableExt<OtherItem, Err>,
OtherItem: Clone,
fn with_latest_from<From, OtherItem>( self, from: From ) -> WithLatestFromOp<Self, From>where From: ObservableExt<OtherItem, Err>, OtherItem: Clone,
Combines the source Observable with other Observables to create an
Observable whose values are calculated from the latest values of each,
only when the source emits. Read more
fn with_latest_from_threads<From, OtherItem>( self, from: From ) -> WithLatestFromOpThreads<Self, From>where From: ObservableExt<OtherItem, Err>, OtherItem: Clone,
source§fn default_if_empty(self, default_value: Item) -> DefaultIfEmptyOp<Self, Item>
fn default_if_empty(self, default_value: Item) -> DefaultIfEmptyOp<Self, Item>
Emits default value if Observable completed with empty result Read more
source§fn buffer_with_count(self, count: usize) -> BufferWithCountOp<Self>
fn buffer_with_count(self, count: usize) -> BufferWithCountOp<Self>
Buffers emitted values of type T in a Vec and
emits that Vec as soon as the buffer’s size equals
the given count.
On complete, if the buffer is not empty,
it will be emitted.
On error, the buffer will be discarded. Read more
source§fn buffer_with_time<S>(
self,
time: Duration,
scheduler: S
) -> BufferWithTimeOp<Self, S>
fn buffer_with_time<S>( self, time: Duration, scheduler: S ) -> BufferWithTimeOp<Self, S>
Buffers emitted values of type T in a Vec and
emits that Vec periodically. Read more
source§fn buffer_with_count_and_time<S>(
self,
count: usize,
time: Duration,
scheduler: S
) -> BufferWithCountOrTimerOp<Self, S>
fn buffer_with_count_and_time<S>( self, count: usize, time: Duration, scheduler: S ) -> BufferWithCountOrTimerOp<Self, S>
Buffers emitted values of type T in a Vec and
emits that Vec either if the buffer’s size equals count, or
periodically. This operator combines the functionality of
buffer_with_count and buffer_with_time. Read more
source§fn combine_latest<Other, OtherItem, BinaryOp, OutputItem>(
self,
other: Other,
binary_op: BinaryOp
) -> CombineLatestOp<Self, Other, BinaryOp>where
Other: ObservableExt<OtherItem, Err>,
BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
fn combine_latest<Other, OtherItem, BinaryOp, OutputItem>( self, other: Other, binary_op: BinaryOp ) -> CombineLatestOp<Self, Other, BinaryOp>where Other: ObservableExt<OtherItem, Err>, BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
Emits item which is combining latest items from two observables. Read more
fn combine_latest_threads<Other, OtherItem, BinaryOp, OutputItem>( self, other: Other, binary_op: BinaryOp ) -> CombineLatestOpThread<Self, Other, BinaryOp>where Other: ObservableExt<OtherItem, Err>, BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
source§fn start_with<B>(self, values: Vec<B>) -> StartWithOp<Self, B>
fn start_with<B>(self, values: Vec<B>) -> StartWithOp<Self, B>
Returns an observable that, at the moment of subscription, will
synchronously emit all values provided to this operator, then subscribe
to the source and mirror all of its emissions to subscribers.
source§fn pairwise(self) -> PairwiseOp<Self>
fn pairwise(self) -> PairwiseOp<Self>
Groups pairs of consecutive emissions together and emits them as an pair
of two values.
source§fn tap<F>(self, f: F) -> TapOp<Self, F>where
F: FnMut(&Item),
fn tap<F>(self, f: F) -> TapOp<Self, F>where F: FnMut(&Item),
Used to perform side-effects for notifications from the source observable
source§fn on_error<F>(self, f: F) -> OnErrorOp<Self, F, Err>where
F: FnOnce(Err),
fn on_error<F>(self, f: F) -> OnErrorOp<Self, F, Err>where F: FnOnce(Err),
Process the error of the observable and the return observable can’t catch the error any more.
fn on_complete<F>(self, f: F) -> OnCompleteOp<Self, F>where F: FnOnce(),
source§fn complete_status(self) -> (StatusOp<Self>, Arc<CompleteStatus>)
fn complete_status(self) -> (StatusOp<Self>, Arc<CompleteStatus>)
Turn the observable to an new observable that will track its complete
status.
The second element of return tuple provide ability let you can query if it
completed or error occur. You can also wait the observable finish.
source§fn collect<C>(self) -> CollectOp<Self, C>where
C: IntoIterator + Extend<C::Item> + Default,
fn collect<C>(self) -> CollectOp<Self, C>where C: IntoIterator + Extend<C::Item> + Default,
Collects all the items emitted by the observable into a collection. Read more
source§fn collect_into<C>(self, collection: C) -> CollectOp<Self, C>where
C: IntoIterator + Extend<C::Item>,
fn collect_into<C>(self, collection: C) -> CollectOp<Self, C>where C: IntoIterator + Extend<C::Item>,
Collects all the items emitted by the observable into the given collection. Read more
source§impl<'a, Source, Discr, Key, Item, Err> ObservableExt<KeyObservable<Key, Subject<'a, Item, Err>>, Err> for GroupByOp<Source, Discr, Subject<'a, Item, Err>>where
Source: ObservableExt<Item, Err>,
impl<'a, Source, Discr, Key, Item, Err> ObservableExt<KeyObservable<Key, Subject<'a, Item, Err>>, Err> for GroupByOp<Source, Discr, Subject<'a, Item, Err>>where Source: ObservableExt<Item, Err>,
source§fn first_or(self, default: Item) -> DefaultIfEmptyOp<TakeOp<Self>, Item>
fn first_or(self, default: Item) -> DefaultIfEmptyOp<TakeOp<Self>, Item>
emit only the first item emitted by an Observable
source§fn last_or(self, default: Item) -> DefaultIfEmptyOp<LastOp<Self, Item>, Item>
fn last_or(self, default: Item) -> DefaultIfEmptyOp<LastOp<Self, Item>, Item>
Emit only the last final item emitted by a source observable or a
default item given. Read more
source§fn element_at(self, nth: usize) -> TakeOp<SkipOp<Self>>
fn element_at(self, nth: usize) -> TakeOp<SkipOp<Self>>
Emit only item n (0-indexed) emitted by an Observable
source§fn ignore_elements(self) -> FilterOp<Self, fn(_: &Item) -> bool>
fn ignore_elements(self) -> FilterOp<Self, fn(_: &Item) -> bool>
Do not emit any items from an Observable but mirror its termination
notification
source§fn all<F>(
self,
pred: F
) -> DefaultIfEmptyOp<TakeOp<FilterOp<MapOp<Self, F, Item>, fn(_: &bool) -> bool>>, bool>where
F: Fn(Item) -> bool,
fn all<F>( self, pred: F ) -> DefaultIfEmptyOp<TakeOp<FilterOp<MapOp<Self, F, Item>, fn(_: &bool) -> bool>>, bool>where F: Fn(Item) -> bool,
Determine whether all items emitted by an Observable meet some criteria
source§fn contains(self, target: Item) -> ContainsOp<Self, Item>
fn contains(self, target: Item) -> ContainsOp<Self, Item>
Determine whether an Observable emits a particular item or not
source§fn last(self) -> LastOp<Self, Item>
fn last(self) -> LastOp<Self, Item>
Emits only last final item emitted by a source observable. Read more
source§fn finalize<F>(self, f: F) -> FinalizeOp<Self, F>where
F: FnMut(),
fn finalize<F>(self, f: F) -> FinalizeOp<Self, F>where F: FnMut(),
Call a function when observable completes, errors or is unsubscribed from.
source§fn finalize_threads<F>(self, f: F) -> FinalizeOpThreads<Self, F>where
F: FnMut(),
fn finalize_threads<F>(self, f: F) -> FinalizeOpThreads<Self, F>where F: FnMut(),
A threads safe version of
finalizesource§fn flatten<'a, Item2, Err2>(self) -> MergeAllOp<'a, Self, Item>where
Item: ObservableExt<Item2, Err2>,
fn flatten<'a, Item2, Err2>(self) -> MergeAllOp<'a, Self, Item>where Item: ObservableExt<Item2, Err2>,
Creates an Observable that combines all the emissions from Observables
that get emitted from an Observable. Read more
source§fn flatten_threads<Item2, Err2>(self) -> MergeAllOpThreads<Self, Item>where
Item: ObservableExt<Item2, Err2>,
fn flatten_threads<Item2, Err2>(self) -> MergeAllOpThreads<Self, Item>where Item: ObservableExt<Item2, Err2>,
A threads safe version of
flattensource§fn flat_map<'a, V, Item2, F>(self, f: F) -> FlatMapOp<'a, Self, V, F, Item>where
F: Fn(Item) -> V,
MapOp<Self, F, Item>: ObservableExt<V, Err>,
V: ObservableExt<Item2, Err>,
fn flat_map<'a, V, Item2, F>(self, f: F) -> FlatMapOp<'a, Self, V, F, Item>where F: Fn(Item) -> V, MapOp<Self, F, Item>: ObservableExt<V, Err>, V: ObservableExt<Item2, Err>,
Applies given function to each item emitted by this Observable, where
that function returns an Observable that itself emits items. It then
merges the emissions of these resulting Observables, emitting these
merged results as its own sequence.
fn flat_map_threads<V, Item2, F>( self, f: F ) -> FlatMapOpThreads<Self, V, F, Item>where F: Fn(Item) -> V, MapOp<Self, F, Item>: ObservableExt<V, Err>, V: ObservableExt<Item2, Err>,
source§fn group_by<D, Key, Subject>(self, discr: D) -> GroupByOp<Self, D, Subject>where
D: FnMut(&Item) -> Key,
Key: Hash + Eq + Clone,
Subject: Clone + Default + Observer<Item, Err>,
fn group_by<D, Key, Subject>(self, discr: D) -> GroupByOp<Self, D, Subject>where D: FnMut(&Item) -> Key, Key: Hash + Eq + Clone, Subject: Clone + Default + Observer<Item, Err>,
Groups items emitted by the source Observable into Observables.
Each emitted Observable emits items matching the key returned
by the discriminator function. Read more
source§fn map<B, F>(self, f: F) -> MapOp<Self, F, Item>where
F: FnMut(Item) -> B,
fn map<B, F>(self, f: F) -> MapOp<Self, F, Item>where F: FnMut(Item) -> B,
Creates a new stream which calls a closure on each element and uses
its return as the value.
source§fn on_error_map<B, F>(self, f: F) -> OnErrorMapOp<Self, F, Err>where
F: FnMut(Err) -> B,
fn on_error_map<B, F>(self, f: F) -> OnErrorMapOp<Self, F, Err>where F: FnMut(Err) -> B,
Creates a new stream which calls a closure on each error and uses
its return as emitted error.
source§fn merge<S>(self, other: S) -> MergeOp<Self, S>where
S: ObservableExt<Item, Err>,
fn merge<S>(self, other: S) -> MergeOp<Self, S>where S: ObservableExt<Item, Err>,
combine two Observables into one by merging their emissions Read more
source§fn merge_threads<S>(self, other: S) -> MergeOpThreads<Self, S>where
S: ObservableExt<Item, Err>,
fn merge_threads<S>(self, other: S) -> MergeOpThreads<Self, S>where S: ObservableExt<Item, Err>,
A threads safe version of
mergesource§fn merge_all<'a, Item2>(self, concurrent: usize) -> MergeAllOp<'a, Self, Item>where
Item: ObservableExt<Item2, Err>,
fn merge_all<'a, Item2>(self, concurrent: usize) -> MergeAllOp<'a, Self, Item>where Item: ObservableExt<Item2, Err>,
Converts a higher-order Observable into a first-order Observable which
concurrently delivers all values that are emitted on the inner
Observables. Read more
source§fn merge_all_threads<Item2>(
self,
concurrent: usize
) -> MergeAllOpThreads<Self, Item>where
Item: ObservableExt<Item2, Err>,
fn merge_all_threads<Item2>( self, concurrent: usize ) -> MergeAllOpThreads<Self, Item>where Item: ObservableExt<Item2, Err>,
A threads safe version of
merge_allsource§fn filter<F>(self, filter: F) -> FilterOp<Self, F>where
F: Fn(&Item) -> bool,
fn filter<F>(self, filter: F) -> FilterOp<Self, F>where F: Fn(&Item) -> bool,
Emit only those items from an Observable that pass a predicate test Read more
source§fn filter_map<F, OutputItem>(self, f: F) -> FilterMapOp<Self, F, Item>where
F: FnMut(Item) -> Option<OutputItem>,
fn filter_map<F, OutputItem>(self, f: F) -> FilterMapOp<Self, F, Item>where F: FnMut(Item) -> Option<OutputItem>,
The closure must return an Option. filter_map creates an iterator which
calls this closure on each element. If the closure returns Some(element),
then that element is returned. If the closure returns None, it will try
again, and call the closure on the next element, seeing if it will return
Some. Read more
source§fn skip(self, count: usize) -> SkipOp<Self>
fn skip(self, count: usize) -> SkipOp<Self>
Ignore the first
count values emitted by the source Observable. Read moresource§fn skip_until<NotifyItem, NotifyErr, Other>(
self,
notifier: Other
) -> SkipUntilOp<Self, Other, NotifyItem, NotifyErr>where
Other: ObservableExt<NotifyItem, NotifyErr>,
fn skip_until<NotifyItem, NotifyErr, Other>( self, notifier: Other ) -> SkipUntilOp<Self, Other, NotifyItem, NotifyErr>where Other: ObservableExt<NotifyItem, NotifyErr>,
Discard items emitted by an Observable until a second Observable emits an item Read more
source§fn skip_until_threads<NotifyItem, NotifyErr, Other>(
self,
notifier: Other
) -> SkipUntilOpThreads<Self, Other, NotifyItem, NotifyErr>where
Other: ObservableExt<NotifyItem, NotifyErr>,
fn skip_until_threads<NotifyItem, NotifyErr, Other>( self, notifier: Other ) -> SkipUntilOpThreads<Self, Other, NotifyItem, NotifyErr>where Other: ObservableExt<NotifyItem, NotifyErr>,
A threads safe version of
skip_until_threadssource§fn skip_while<F>(self, predicate: F) -> SkipWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn skip_while<F>(self, predicate: F) -> SkipWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Discard items emitted by an Observable until a specified condition becomes false Read more
source§fn skip_last(self, count: usize) -> SkipLastOp<Self>
fn skip_last(self, count: usize) -> SkipLastOp<Self>
Ignore the last
count values emitted by the source Observable. Read moresource§fn take(self, count: usize) -> TakeOp<Self>
fn take(self, count: usize) -> TakeOp<Self>
Emits only the first
count values emitted by the source Observable. Read moresource§fn take_until<Notify, NotifyItem, NotifyErr>(
self,
notifier: Notify
) -> TakeUntilOp<Self, Notify, NotifyItem, NotifyErr>
fn take_until<Notify, NotifyItem, NotifyErr>( self, notifier: Notify ) -> TakeUntilOp<Self, Notify, NotifyItem, NotifyErr>
Emits the values emitted by the source Observable until a
notifier
Observable emits a value. Read morefn take_until_threads<Notify, NotifyItem, NotifyErr>( self, notifier: Notify ) -> TakeUntilOpThreads<Self, Notify, NotifyItem, NotifyErr>
source§fn take_while<F>(self, callback: F) -> TakeWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn take_while<F>(self, callback: F) -> TakeWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Emits values while result of an callback is true. Read more
source§fn take_while_inclusive<F>(self, callback: F) -> TakeWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn take_while_inclusive<F>(self, callback: F) -> TakeWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Emits values while result of an callback is true and the last one that
causes the callback to return false. Read more
source§fn take_last(self, count: usize) -> TakeLastOp<Self>
fn take_last(self, count: usize) -> TakeLastOp<Self>
Emits only the last
count values emitted by the source Observable. Read moresource§fn sample<Sample, SampleItem, SampleErr>(
self,
sampling: Sample
) -> SampleOp<Self, Sample, SampleItem>where
Sample: ObservableExt<SampleItem, SampleErr>,
fn sample<Sample, SampleItem, SampleErr>( self, sampling: Sample ) -> SampleOp<Self, Sample, SampleItem>where Sample: ObservableExt<SampleItem, SampleErr>,
Emits item it has most recently emitted since the previous sampling Read more
source§fn sample_threads<Sample, SampleItem, SampleErr>(
self,
sampling: Sample
) -> SampleOpThreads<Self, Sample, SampleItem>where
Sample: ObservableExt<SampleItem, SampleErr>,
fn sample_threads<Sample, SampleItem, SampleErr>( self, sampling: Sample ) -> SampleOpThreads<Self, Sample, SampleItem>where Sample: ObservableExt<SampleItem, SampleErr>,
A threads safe version of
samplesource§fn scan_initial<OutputItem, BinaryOp>(
self,
initial_value: OutputItem,
binary_op: BinaryOp
) -> ScanOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Clone,
fn scan_initial<OutputItem, BinaryOp>( self, initial_value: OutputItem, binary_op: BinaryOp ) -> ScanOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Clone,
The Scan operator applies a function to the first item emitted by the
source observable and then emits the result of that function as its
own first emission. It also feeds the result of the function back into
the function along with the second item emitted by the source observable
in order to generate its second emission. It continues to feed back its
own subsequent emissions along with the subsequent emissions from the
source Observable in order to create the rest of its sequence. Read more
source§fn scan<OutputItem, BinaryOp>(
self,
binary_op: BinaryOp
) -> ScanOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Default + Clone,
fn scan<OutputItem, BinaryOp>( self, binary_op: BinaryOp ) -> ScanOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Default + Clone,
Works like
scan_initial but starts with a
value defined by a Default trait for the first argument binary_op
operator operates on. Read moresource§fn reduce_initial<OutputItem, BinaryOp>(
self,
initial: OutputItem,
binary_op: BinaryOp
) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Clone,
fn reduce_initial<OutputItem, BinaryOp>( self, initial: OutputItem, binary_op: BinaryOp ) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Clone,
Apply a function to each item emitted by an observable, sequentially,
and emit the final value, after source observable completes. Read more
source§fn reduce<OutputItem, BinaryOp>(
self,
binary_op: BinaryOp
) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Default + Clone,
fn reduce<OutputItem, BinaryOp>( self, binary_op: BinaryOp ) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Default + Clone,
Works like
reduce_initial but starts with
a value defined by a Default trait for the first argument f
operator operates on. Read moresource§fn count(self) -> CountOp<Self, Item>
fn count(self) -> CountOp<Self, Item>
Emits the number of items emitted by a source observable when this source
completes. Read more
source§fn publish<Subject: Default>(self) -> ConnectableObservable<Self, Subject>
fn publish<Subject: Default>(self) -> ConnectableObservable<Self, Subject>
Returns a ConnectableObservable. A ConnectableObservable Observable
resembles an ordinary Observable, except that it does not begin emitting
items when it is subscribed to, but only when the Connect operator is
applied to it. In this way you can wait for all intended observers to
subscribe to the Observable before the Observable begins emitting items.
Returns a new Observable that multicast (shares) the original
Observable. As long as there is at least one Subscriber this
Observable will be subscribed and emitting data. When all subscribers
have unsubscribed it will unsubscribe from the source Observable.
Because the Observable is multicasting it makes the stream
hot.
This is an alias for publish().ref_count()source§fn delay<SD>(self, dur: Duration, scheduler: SD) -> DelayOp<Self, SD>
fn delay<SD>(self, dur: Duration, scheduler: SD) -> DelayOp<Self, SD>
Delays the emission of items from the source Observable by a given timeout
or until a given
Instant.source§fn delay_threads<SD>(
self,
dur: Duration,
scheduler: SD
) -> DelayOpThreads<Self, SD>
fn delay_threads<SD>( self, dur: Duration, scheduler: SD ) -> DelayOpThreads<Self, SD>
A threads safe version of
delayfn delay_at<SD>(self, at: Instant, scheduler: SD) -> DelayOp<Self, SD>
source§fn delay_at_threads<SD>(
self,
at: Instant,
scheduler: SD
) -> DelayOpThreads<Self, SD>
fn delay_at_threads<SD>( self, at: Instant, scheduler: SD ) -> DelayOpThreads<Self, SD>
A threads safe version of
delay_atsource§fn delay_subscription<SD>(
self,
dur: Duration,
scheduler: SD
) -> DelaySubscriptionOp<Self, SD>
fn delay_subscription<SD>( self, dur: Duration, scheduler: SD ) -> DelaySubscriptionOp<Self, SD>
It’s similar to delay but rather than timeshifting the emissions from
the source Observable, it timeshifts the moment of subscription to that
Observable.
fn delay_subscription_at<SD>( self, at: Instant, scheduler: SD ) -> DelaySubscriptionOp<Self, SD>
source§fn subscribe_on<SD>(self, scheduler: SD) -> SubscribeOnOP<Self, SD>
fn subscribe_on<SD>(self, scheduler: SD) -> SubscribeOnOP<Self, SD>
Specify the Scheduler on which an Observable will operate Read more
source§fn observe_on<SD>(self, scheduler: SD) -> ObserveOnOp<Self, SD>
fn observe_on<SD>(self, scheduler: SD) -> ObserveOnOp<Self, SD>
Re-emits all notifications from source Observable with specified
scheduler. Read more
source§fn observe_on_threads<SD>(self, scheduler: SD) -> ObserveOnOpThreads<Self, SD>
fn observe_on_threads<SD>(self, scheduler: SD) -> ObserveOnOpThreads<Self, SD>
A thread safe version of
observe_onsource§fn debounce<SD>(self, duration: Duration, scheduler: SD) -> DebounceOp<Self, SD>
fn debounce<SD>(self, duration: Duration, scheduler: SD) -> DebounceOp<Self, SD>
Emits a value from the source Observable only after a particular time span
has passed without another source emission.
source§fn throttle<SD, F>(
self,
duration_selector: F,
edge: ThrottleEdge,
scheduler: SD
) -> ThrottleOp<Self, SD, F>where
F: Fn(&Item) -> Duration,
fn throttle<SD, F>( self, duration_selector: F, edge: ThrottleEdge, scheduler: SD ) -> ThrottleOp<Self, SD, F>where F: Fn(&Item) -> Duration,
Emits a value from the source Observable, then ignores subsequent source
values for duration milliseconds, then repeats this process. Read more
source§fn throttle_time<SD>(
self,
duration: Duration,
edge: ThrottleEdge,
scheduler: SD
) -> ThrottleOp<Self, SD, Box<dyn Fn(&Item) -> Duration + Send + Sync>>where
Item: 'static,
fn throttle_time<SD>( self, duration: Duration, edge: ThrottleEdge, scheduler: SD ) -> ThrottleOp<Self, SD, Box<dyn Fn(&Item) -> Duration + Send + Sync>>where Item: 'static,
Emits a value from the source Observable, then ignores subsequent source
values for duration milliseconds, then repeats this process. Read more
source§fn distinct(self) -> DistinctOp<Self>
fn distinct(self) -> DistinctOp<Self>
Returns an Observable that emits all items emitted by the source
Observable that are distinct by comparison from previous items.
source§fn distinct_key<F>(self, key: F) -> DistinctKeyOp<Self, F>
fn distinct_key<F>(self, key: F) -> DistinctKeyOp<Self, F>
Variant of distinct that takes a key selector.
source§fn distinct_until_changed(self) -> DistinctUntilChangedOp<Self>
fn distinct_until_changed(self) -> DistinctUntilChangedOp<Self>
Only emit when the current value is different than the last
source§fn distinct_until_key_changed<F>(
self,
key: F
) -> DistinctUntilKeyChangedOp<Self, F>
fn distinct_until_key_changed<F>( self, key: F ) -> DistinctUntilKeyChangedOp<Self, F>
Variant of distinct_until_changed that takes a key selector.
source§fn zip<Other, Item2>(self, other: Other) -> ZipOp<Self, Other>where
Other: ObservableExt<Item2, Err>,
fn zip<Other, Item2>(self, other: Other) -> ZipOp<Self, Other>where Other: ObservableExt<Item2, Err>,
‘Zips up’ two observable into a single observable of pairs. Read more
source§fn zip_threads<Other, Item2>(self, other: Other) -> ZipOpThreads<Self, Other>where
Other: ObservableExt<Item2, Err>,
fn zip_threads<Other, Item2>(self, other: Other) -> ZipOpThreads<Self, Other>where Other: ObservableExt<Item2, Err>,
A threads safe version of
zipsource§fn with_latest_from<From, OtherItem>(
self,
from: From
) -> WithLatestFromOp<Self, From>where
From: ObservableExt<OtherItem, Err>,
OtherItem: Clone,
fn with_latest_from<From, OtherItem>( self, from: From ) -> WithLatestFromOp<Self, From>where From: ObservableExt<OtherItem, Err>, OtherItem: Clone,
Combines the source Observable with other Observables to create an
Observable whose values are calculated from the latest values of each,
only when the source emits. Read more
fn with_latest_from_threads<From, OtherItem>( self, from: From ) -> WithLatestFromOpThreads<Self, From>where From: ObservableExt<OtherItem, Err>, OtherItem: Clone,
source§fn default_if_empty(self, default_value: Item) -> DefaultIfEmptyOp<Self, Item>
fn default_if_empty(self, default_value: Item) -> DefaultIfEmptyOp<Self, Item>
Emits default value if Observable completed with empty result Read more
source§fn buffer_with_count(self, count: usize) -> BufferWithCountOp<Self>
fn buffer_with_count(self, count: usize) -> BufferWithCountOp<Self>
Buffers emitted values of type T in a Vec and
emits that Vec as soon as the buffer’s size equals
the given count.
On complete, if the buffer is not empty,
it will be emitted.
On error, the buffer will be discarded. Read more
source§fn buffer_with_time<S>(
self,
time: Duration,
scheduler: S
) -> BufferWithTimeOp<Self, S>
fn buffer_with_time<S>( self, time: Duration, scheduler: S ) -> BufferWithTimeOp<Self, S>
Buffers emitted values of type T in a Vec and
emits that Vec periodically. Read more
source§fn buffer_with_count_and_time<S>(
self,
count: usize,
time: Duration,
scheduler: S
) -> BufferWithCountOrTimerOp<Self, S>
fn buffer_with_count_and_time<S>( self, count: usize, time: Duration, scheduler: S ) -> BufferWithCountOrTimerOp<Self, S>
Buffers emitted values of type T in a Vec and
emits that Vec either if the buffer’s size equals count, or
periodically. This operator combines the functionality of
buffer_with_count and buffer_with_time. Read more
source§fn combine_latest<Other, OtherItem, BinaryOp, OutputItem>(
self,
other: Other,
binary_op: BinaryOp
) -> CombineLatestOp<Self, Other, BinaryOp>where
Other: ObservableExt<OtherItem, Err>,
BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
fn combine_latest<Other, OtherItem, BinaryOp, OutputItem>( self, other: Other, binary_op: BinaryOp ) -> CombineLatestOp<Self, Other, BinaryOp>where Other: ObservableExt<OtherItem, Err>, BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
Emits item which is combining latest items from two observables. Read more
fn combine_latest_threads<Other, OtherItem, BinaryOp, OutputItem>( self, other: Other, binary_op: BinaryOp ) -> CombineLatestOpThread<Self, Other, BinaryOp>where Other: ObservableExt<OtherItem, Err>, BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
source§fn start_with<B>(self, values: Vec<B>) -> StartWithOp<Self, B>
fn start_with<B>(self, values: Vec<B>) -> StartWithOp<Self, B>
Returns an observable that, at the moment of subscription, will
synchronously emit all values provided to this operator, then subscribe
to the source and mirror all of its emissions to subscribers.
source§fn pairwise(self) -> PairwiseOp<Self>
fn pairwise(self) -> PairwiseOp<Self>
Groups pairs of consecutive emissions together and emits them as an pair
of two values.
source§fn tap<F>(self, f: F) -> TapOp<Self, F>where
F: FnMut(&Item),
fn tap<F>(self, f: F) -> TapOp<Self, F>where F: FnMut(&Item),
Used to perform side-effects for notifications from the source observable
source§fn on_error<F>(self, f: F) -> OnErrorOp<Self, F, Err>where
F: FnOnce(Err),
fn on_error<F>(self, f: F) -> OnErrorOp<Self, F, Err>where F: FnOnce(Err),
Process the error of the observable and the return observable can’t catch the error any more.
fn on_complete<F>(self, f: F) -> OnCompleteOp<Self, F>where F: FnOnce(),
source§fn complete_status(self) -> (StatusOp<Self>, Arc<CompleteStatus>)
fn complete_status(self) -> (StatusOp<Self>, Arc<CompleteStatus>)
Turn the observable to an new observable that will track its complete
status.
The second element of return tuple provide ability let you can query if it
completed or error occur. You can also wait the observable finish.
source§fn collect<C>(self) -> CollectOp<Self, C>where
C: IntoIterator + Extend<C::Item> + Default,
fn collect<C>(self) -> CollectOp<Self, C>where C: IntoIterator + Extend<C::Item> + Default,
Collects all the items emitted by the observable into a collection. Read more
source§fn collect_into<C>(self, collection: C) -> CollectOp<Self, C>where
C: IntoIterator + Extend<C::Item>,
fn collect_into<C>(self, collection: C) -> CollectOp<Self, C>where C: IntoIterator + Extend<C::Item>,
Collects all the items emitted by the observable into the given collection. Read more
source§impl<Source, Discr, Key, Item, Err> ObservableExt<KeyObservable<Key, SubjectThreads<Item, Err>>, Err> for GroupByOp<Source, Discr, SubjectThreads<Item, Err>>where
Source: ObservableExt<Item, Err>,
impl<Source, Discr, Key, Item, Err> ObservableExt<KeyObservable<Key, SubjectThreads<Item, Err>>, Err> for GroupByOp<Source, Discr, SubjectThreads<Item, Err>>where Source: ObservableExt<Item, Err>,
source§fn first_or(self, default: Item) -> DefaultIfEmptyOp<TakeOp<Self>, Item>
fn first_or(self, default: Item) -> DefaultIfEmptyOp<TakeOp<Self>, Item>
emit only the first item emitted by an Observable
source§fn last_or(self, default: Item) -> DefaultIfEmptyOp<LastOp<Self, Item>, Item>
fn last_or(self, default: Item) -> DefaultIfEmptyOp<LastOp<Self, Item>, Item>
Emit only the last final item emitted by a source observable or a
default item given. Read more
source§fn element_at(self, nth: usize) -> TakeOp<SkipOp<Self>>
fn element_at(self, nth: usize) -> TakeOp<SkipOp<Self>>
Emit only item n (0-indexed) emitted by an Observable
source§fn ignore_elements(self) -> FilterOp<Self, fn(_: &Item) -> bool>
fn ignore_elements(self) -> FilterOp<Self, fn(_: &Item) -> bool>
Do not emit any items from an Observable but mirror its termination
notification
source§fn all<F>(
self,
pred: F
) -> DefaultIfEmptyOp<TakeOp<FilterOp<MapOp<Self, F, Item>, fn(_: &bool) -> bool>>, bool>where
F: Fn(Item) -> bool,
fn all<F>( self, pred: F ) -> DefaultIfEmptyOp<TakeOp<FilterOp<MapOp<Self, F, Item>, fn(_: &bool) -> bool>>, bool>where F: Fn(Item) -> bool,
Determine whether all items emitted by an Observable meet some criteria
source§fn contains(self, target: Item) -> ContainsOp<Self, Item>
fn contains(self, target: Item) -> ContainsOp<Self, Item>
Determine whether an Observable emits a particular item or not
source§fn last(self) -> LastOp<Self, Item>
fn last(self) -> LastOp<Self, Item>
Emits only last final item emitted by a source observable. Read more
source§fn finalize<F>(self, f: F) -> FinalizeOp<Self, F>where
F: FnMut(),
fn finalize<F>(self, f: F) -> FinalizeOp<Self, F>where F: FnMut(),
Call a function when observable completes, errors or is unsubscribed from.
source§fn finalize_threads<F>(self, f: F) -> FinalizeOpThreads<Self, F>where
F: FnMut(),
fn finalize_threads<F>(self, f: F) -> FinalizeOpThreads<Self, F>where F: FnMut(),
A threads safe version of
finalizesource§fn flatten<'a, Item2, Err2>(self) -> MergeAllOp<'a, Self, Item>where
Item: ObservableExt<Item2, Err2>,
fn flatten<'a, Item2, Err2>(self) -> MergeAllOp<'a, Self, Item>where Item: ObservableExt<Item2, Err2>,
Creates an Observable that combines all the emissions from Observables
that get emitted from an Observable. Read more
source§fn flatten_threads<Item2, Err2>(self) -> MergeAllOpThreads<Self, Item>where
Item: ObservableExt<Item2, Err2>,
fn flatten_threads<Item2, Err2>(self) -> MergeAllOpThreads<Self, Item>where Item: ObservableExt<Item2, Err2>,
A threads safe version of
flattensource§fn flat_map<'a, V, Item2, F>(self, f: F) -> FlatMapOp<'a, Self, V, F, Item>where
F: Fn(Item) -> V,
MapOp<Self, F, Item>: ObservableExt<V, Err>,
V: ObservableExt<Item2, Err>,
fn flat_map<'a, V, Item2, F>(self, f: F) -> FlatMapOp<'a, Self, V, F, Item>where F: Fn(Item) -> V, MapOp<Self, F, Item>: ObservableExt<V, Err>, V: ObservableExt<Item2, Err>,
Applies given function to each item emitted by this Observable, where
that function returns an Observable that itself emits items. It then
merges the emissions of these resulting Observables, emitting these
merged results as its own sequence.
fn flat_map_threads<V, Item2, F>( self, f: F ) -> FlatMapOpThreads<Self, V, F, Item>where F: Fn(Item) -> V, MapOp<Self, F, Item>: ObservableExt<V, Err>, V: ObservableExt<Item2, Err>,
source§fn group_by<D, Key, Subject>(self, discr: D) -> GroupByOp<Self, D, Subject>where
D: FnMut(&Item) -> Key,
Key: Hash + Eq + Clone,
Subject: Clone + Default + Observer<Item, Err>,
fn group_by<D, Key, Subject>(self, discr: D) -> GroupByOp<Self, D, Subject>where D: FnMut(&Item) -> Key, Key: Hash + Eq + Clone, Subject: Clone + Default + Observer<Item, Err>,
Groups items emitted by the source Observable into Observables.
Each emitted Observable emits items matching the key returned
by the discriminator function. Read more
source§fn map<B, F>(self, f: F) -> MapOp<Self, F, Item>where
F: FnMut(Item) -> B,
fn map<B, F>(self, f: F) -> MapOp<Self, F, Item>where F: FnMut(Item) -> B,
Creates a new stream which calls a closure on each element and uses
its return as the value.
source§fn on_error_map<B, F>(self, f: F) -> OnErrorMapOp<Self, F, Err>where
F: FnMut(Err) -> B,
fn on_error_map<B, F>(self, f: F) -> OnErrorMapOp<Self, F, Err>where F: FnMut(Err) -> B,
Creates a new stream which calls a closure on each error and uses
its return as emitted error.
source§fn merge<S>(self, other: S) -> MergeOp<Self, S>where
S: ObservableExt<Item, Err>,
fn merge<S>(self, other: S) -> MergeOp<Self, S>where S: ObservableExt<Item, Err>,
combine two Observables into one by merging their emissions Read more
source§fn merge_threads<S>(self, other: S) -> MergeOpThreads<Self, S>where
S: ObservableExt<Item, Err>,
fn merge_threads<S>(self, other: S) -> MergeOpThreads<Self, S>where S: ObservableExt<Item, Err>,
A threads safe version of
mergesource§fn merge_all<'a, Item2>(self, concurrent: usize) -> MergeAllOp<'a, Self, Item>where
Item: ObservableExt<Item2, Err>,
fn merge_all<'a, Item2>(self, concurrent: usize) -> MergeAllOp<'a, Self, Item>where Item: ObservableExt<Item2, Err>,
Converts a higher-order Observable into a first-order Observable which
concurrently delivers all values that are emitted on the inner
Observables. Read more
source§fn merge_all_threads<Item2>(
self,
concurrent: usize
) -> MergeAllOpThreads<Self, Item>where
Item: ObservableExt<Item2, Err>,
fn merge_all_threads<Item2>( self, concurrent: usize ) -> MergeAllOpThreads<Self, Item>where Item: ObservableExt<Item2, Err>,
A threads safe version of
merge_allsource§fn filter<F>(self, filter: F) -> FilterOp<Self, F>where
F: Fn(&Item) -> bool,
fn filter<F>(self, filter: F) -> FilterOp<Self, F>where F: Fn(&Item) -> bool,
Emit only those items from an Observable that pass a predicate test Read more
source§fn filter_map<F, OutputItem>(self, f: F) -> FilterMapOp<Self, F, Item>where
F: FnMut(Item) -> Option<OutputItem>,
fn filter_map<F, OutputItem>(self, f: F) -> FilterMapOp<Self, F, Item>where F: FnMut(Item) -> Option<OutputItem>,
The closure must return an Option. filter_map creates an iterator which
calls this closure on each element. If the closure returns Some(element),
then that element is returned. If the closure returns None, it will try
again, and call the closure on the next element, seeing if it will return
Some. Read more
source§fn skip(self, count: usize) -> SkipOp<Self>
fn skip(self, count: usize) -> SkipOp<Self>
Ignore the first
count values emitted by the source Observable. Read moresource§fn skip_until<NotifyItem, NotifyErr, Other>(
self,
notifier: Other
) -> SkipUntilOp<Self, Other, NotifyItem, NotifyErr>where
Other: ObservableExt<NotifyItem, NotifyErr>,
fn skip_until<NotifyItem, NotifyErr, Other>( self, notifier: Other ) -> SkipUntilOp<Self, Other, NotifyItem, NotifyErr>where Other: ObservableExt<NotifyItem, NotifyErr>,
Discard items emitted by an Observable until a second Observable emits an item Read more
source§fn skip_until_threads<NotifyItem, NotifyErr, Other>(
self,
notifier: Other
) -> SkipUntilOpThreads<Self, Other, NotifyItem, NotifyErr>where
Other: ObservableExt<NotifyItem, NotifyErr>,
fn skip_until_threads<NotifyItem, NotifyErr, Other>( self, notifier: Other ) -> SkipUntilOpThreads<Self, Other, NotifyItem, NotifyErr>where Other: ObservableExt<NotifyItem, NotifyErr>,
A threads safe version of
skip_until_threadssource§fn skip_while<F>(self, predicate: F) -> SkipWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn skip_while<F>(self, predicate: F) -> SkipWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Discard items emitted by an Observable until a specified condition becomes false Read more
source§fn skip_last(self, count: usize) -> SkipLastOp<Self>
fn skip_last(self, count: usize) -> SkipLastOp<Self>
Ignore the last
count values emitted by the source Observable. Read moresource§fn take(self, count: usize) -> TakeOp<Self>
fn take(self, count: usize) -> TakeOp<Self>
Emits only the first
count values emitted by the source Observable. Read moresource§fn take_until<Notify, NotifyItem, NotifyErr>(
self,
notifier: Notify
) -> TakeUntilOp<Self, Notify, NotifyItem, NotifyErr>
fn take_until<Notify, NotifyItem, NotifyErr>( self, notifier: Notify ) -> TakeUntilOp<Self, Notify, NotifyItem, NotifyErr>
Emits the values emitted by the source Observable until a
notifier
Observable emits a value. Read morefn take_until_threads<Notify, NotifyItem, NotifyErr>( self, notifier: Notify ) -> TakeUntilOpThreads<Self, Notify, NotifyItem, NotifyErr>
source§fn take_while<F>(self, callback: F) -> TakeWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn take_while<F>(self, callback: F) -> TakeWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Emits values while result of an callback is true. Read more
source§fn take_while_inclusive<F>(self, callback: F) -> TakeWhileOp<Self, F>where
F: FnMut(&Item) -> bool,
fn take_while_inclusive<F>(self, callback: F) -> TakeWhileOp<Self, F>where F: FnMut(&Item) -> bool,
Emits values while result of an callback is true and the last one that
causes the callback to return false. Read more
source§fn take_last(self, count: usize) -> TakeLastOp<Self>
fn take_last(self, count: usize) -> TakeLastOp<Self>
Emits only the last
count values emitted by the source Observable. Read moresource§fn sample<Sample, SampleItem, SampleErr>(
self,
sampling: Sample
) -> SampleOp<Self, Sample, SampleItem>where
Sample: ObservableExt<SampleItem, SampleErr>,
fn sample<Sample, SampleItem, SampleErr>( self, sampling: Sample ) -> SampleOp<Self, Sample, SampleItem>where Sample: ObservableExt<SampleItem, SampleErr>,
Emits item it has most recently emitted since the previous sampling Read more
source§fn sample_threads<Sample, SampleItem, SampleErr>(
self,
sampling: Sample
) -> SampleOpThreads<Self, Sample, SampleItem>where
Sample: ObservableExt<SampleItem, SampleErr>,
fn sample_threads<Sample, SampleItem, SampleErr>( self, sampling: Sample ) -> SampleOpThreads<Self, Sample, SampleItem>where Sample: ObservableExt<SampleItem, SampleErr>,
A threads safe version of
samplesource§fn scan_initial<OutputItem, BinaryOp>(
self,
initial_value: OutputItem,
binary_op: BinaryOp
) -> ScanOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Clone,
fn scan_initial<OutputItem, BinaryOp>( self, initial_value: OutputItem, binary_op: BinaryOp ) -> ScanOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Clone,
The Scan operator applies a function to the first item emitted by the
source observable and then emits the result of that function as its
own first emission. It also feeds the result of the function back into
the function along with the second item emitted by the source observable
in order to generate its second emission. It continues to feed back its
own subsequent emissions along with the subsequent emissions from the
source Observable in order to create the rest of its sequence. Read more
source§fn scan<OutputItem, BinaryOp>(
self,
binary_op: BinaryOp
) -> ScanOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Default + Clone,
fn scan<OutputItem, BinaryOp>( self, binary_op: BinaryOp ) -> ScanOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Default + Clone,
Works like
scan_initial but starts with a
value defined by a Default trait for the first argument binary_op
operator operates on. Read moresource§fn reduce_initial<OutputItem, BinaryOp>(
self,
initial: OutputItem,
binary_op: BinaryOp
) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Clone,
fn reduce_initial<OutputItem, BinaryOp>( self, initial: OutputItem, binary_op: BinaryOp ) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Clone,
Apply a function to each item emitted by an observable, sequentially,
and emit the final value, after source observable completes. Read more
source§fn reduce<OutputItem, BinaryOp>(
self,
binary_op: BinaryOp
) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where
BinaryOp: Fn(OutputItem, Item) -> OutputItem,
OutputItem: Default + Clone,
fn reduce<OutputItem, BinaryOp>( self, binary_op: BinaryOp ) -> ReduceOp<Self, BinaryOp, OutputItem, Item>where BinaryOp: Fn(OutputItem, Item) -> OutputItem, OutputItem: Default + Clone,
Works like
reduce_initial but starts with
a value defined by a Default trait for the first argument f
operator operates on. Read moresource§fn count(self) -> CountOp<Self, Item>
fn count(self) -> CountOp<Self, Item>
Emits the number of items emitted by a source observable when this source
completes. Read more
source§fn publish<Subject: Default>(self) -> ConnectableObservable<Self, Subject>
fn publish<Subject: Default>(self) -> ConnectableObservable<Self, Subject>
Returns a ConnectableObservable. A ConnectableObservable Observable
resembles an ordinary Observable, except that it does not begin emitting
items when it is subscribed to, but only when the Connect operator is
applied to it. In this way you can wait for all intended observers to
subscribe to the Observable before the Observable begins emitting items.
Returns a new Observable that multicast (shares) the original
Observable. As long as there is at least one Subscriber this
Observable will be subscribed and emitting data. When all subscribers
have unsubscribed it will unsubscribe from the source Observable.
Because the Observable is multicasting it makes the stream
hot.
This is an alias for publish().ref_count()source§fn delay<SD>(self, dur: Duration, scheduler: SD) -> DelayOp<Self, SD>
fn delay<SD>(self, dur: Duration, scheduler: SD) -> DelayOp<Self, SD>
Delays the emission of items from the source Observable by a given timeout
or until a given
Instant.source§fn delay_threads<SD>(
self,
dur: Duration,
scheduler: SD
) -> DelayOpThreads<Self, SD>
fn delay_threads<SD>( self, dur: Duration, scheduler: SD ) -> DelayOpThreads<Self, SD>
A threads safe version of
delayfn delay_at<SD>(self, at: Instant, scheduler: SD) -> DelayOp<Self, SD>
source§fn delay_at_threads<SD>(
self,
at: Instant,
scheduler: SD
) -> DelayOpThreads<Self, SD>
fn delay_at_threads<SD>( self, at: Instant, scheduler: SD ) -> DelayOpThreads<Self, SD>
A threads safe version of
delay_atsource§fn delay_subscription<SD>(
self,
dur: Duration,
scheduler: SD
) -> DelaySubscriptionOp<Self, SD>
fn delay_subscription<SD>( self, dur: Duration, scheduler: SD ) -> DelaySubscriptionOp<Self, SD>
It’s similar to delay but rather than timeshifting the emissions from
the source Observable, it timeshifts the moment of subscription to that
Observable.
fn delay_subscription_at<SD>( self, at: Instant, scheduler: SD ) -> DelaySubscriptionOp<Self, SD>
source§fn subscribe_on<SD>(self, scheduler: SD) -> SubscribeOnOP<Self, SD>
fn subscribe_on<SD>(self, scheduler: SD) -> SubscribeOnOP<Self, SD>
Specify the Scheduler on which an Observable will operate Read more
source§fn observe_on<SD>(self, scheduler: SD) -> ObserveOnOp<Self, SD>
fn observe_on<SD>(self, scheduler: SD) -> ObserveOnOp<Self, SD>
Re-emits all notifications from source Observable with specified
scheduler. Read more
source§fn observe_on_threads<SD>(self, scheduler: SD) -> ObserveOnOpThreads<Self, SD>
fn observe_on_threads<SD>(self, scheduler: SD) -> ObserveOnOpThreads<Self, SD>
A thread safe version of
observe_onsource§fn debounce<SD>(self, duration: Duration, scheduler: SD) -> DebounceOp<Self, SD>
fn debounce<SD>(self, duration: Duration, scheduler: SD) -> DebounceOp<Self, SD>
Emits a value from the source Observable only after a particular time span
has passed without another source emission.
source§fn throttle<SD, F>(
self,
duration_selector: F,
edge: ThrottleEdge,
scheduler: SD
) -> ThrottleOp<Self, SD, F>where
F: Fn(&Item) -> Duration,
fn throttle<SD, F>( self, duration_selector: F, edge: ThrottleEdge, scheduler: SD ) -> ThrottleOp<Self, SD, F>where F: Fn(&Item) -> Duration,
Emits a value from the source Observable, then ignores subsequent source
values for duration milliseconds, then repeats this process. Read more
source§fn throttle_time<SD>(
self,
duration: Duration,
edge: ThrottleEdge,
scheduler: SD
) -> ThrottleOp<Self, SD, Box<dyn Fn(&Item) -> Duration + Send + Sync>>where
Item: 'static,
fn throttle_time<SD>( self, duration: Duration, edge: ThrottleEdge, scheduler: SD ) -> ThrottleOp<Self, SD, Box<dyn Fn(&Item) -> Duration + Send + Sync>>where Item: 'static,
Emits a value from the source Observable, then ignores subsequent source
values for duration milliseconds, then repeats this process. Read more
source§fn distinct(self) -> DistinctOp<Self>
fn distinct(self) -> DistinctOp<Self>
Returns an Observable that emits all items emitted by the source
Observable that are distinct by comparison from previous items.
source§fn distinct_key<F>(self, key: F) -> DistinctKeyOp<Self, F>
fn distinct_key<F>(self, key: F) -> DistinctKeyOp<Self, F>
Variant of distinct that takes a key selector.
source§fn distinct_until_changed(self) -> DistinctUntilChangedOp<Self>
fn distinct_until_changed(self) -> DistinctUntilChangedOp<Self>
Only emit when the current value is different than the last
source§fn distinct_until_key_changed<F>(
self,
key: F
) -> DistinctUntilKeyChangedOp<Self, F>
fn distinct_until_key_changed<F>( self, key: F ) -> DistinctUntilKeyChangedOp<Self, F>
Variant of distinct_until_changed that takes a key selector.
source§fn zip<Other, Item2>(self, other: Other) -> ZipOp<Self, Other>where
Other: ObservableExt<Item2, Err>,
fn zip<Other, Item2>(self, other: Other) -> ZipOp<Self, Other>where Other: ObservableExt<Item2, Err>,
‘Zips up’ two observable into a single observable of pairs. Read more
source§fn zip_threads<Other, Item2>(self, other: Other) -> ZipOpThreads<Self, Other>where
Other: ObservableExt<Item2, Err>,
fn zip_threads<Other, Item2>(self, other: Other) -> ZipOpThreads<Self, Other>where Other: ObservableExt<Item2, Err>,
A threads safe version of
zipsource§fn with_latest_from<From, OtherItem>(
self,
from: From
) -> WithLatestFromOp<Self, From>where
From: ObservableExt<OtherItem, Err>,
OtherItem: Clone,
fn with_latest_from<From, OtherItem>( self, from: From ) -> WithLatestFromOp<Self, From>where From: ObservableExt<OtherItem, Err>, OtherItem: Clone,
Combines the source Observable with other Observables to create an
Observable whose values are calculated from the latest values of each,
only when the source emits. Read more
fn with_latest_from_threads<From, OtherItem>( self, from: From ) -> WithLatestFromOpThreads<Self, From>where From: ObservableExt<OtherItem, Err>, OtherItem: Clone,
source§fn default_if_empty(self, default_value: Item) -> DefaultIfEmptyOp<Self, Item>
fn default_if_empty(self, default_value: Item) -> DefaultIfEmptyOp<Self, Item>
Emits default value if Observable completed with empty result Read more
source§fn buffer_with_count(self, count: usize) -> BufferWithCountOp<Self>
fn buffer_with_count(self, count: usize) -> BufferWithCountOp<Self>
Buffers emitted values of type T in a Vec and
emits that Vec as soon as the buffer’s size equals
the given count.
On complete, if the buffer is not empty,
it will be emitted.
On error, the buffer will be discarded. Read more
source§fn buffer_with_time<S>(
self,
time: Duration,
scheduler: S
) -> BufferWithTimeOp<Self, S>
fn buffer_with_time<S>( self, time: Duration, scheduler: S ) -> BufferWithTimeOp<Self, S>
Buffers emitted values of type T in a Vec and
emits that Vec periodically. Read more
source§fn buffer_with_count_and_time<S>(
self,
count: usize,
time: Duration,
scheduler: S
) -> BufferWithCountOrTimerOp<Self, S>
fn buffer_with_count_and_time<S>( self, count: usize, time: Duration, scheduler: S ) -> BufferWithCountOrTimerOp<Self, S>
Buffers emitted values of type T in a Vec and
emits that Vec either if the buffer’s size equals count, or
periodically. This operator combines the functionality of
buffer_with_count and buffer_with_time. Read more
source§fn combine_latest<Other, OtherItem, BinaryOp, OutputItem>(
self,
other: Other,
binary_op: BinaryOp
) -> CombineLatestOp<Self, Other, BinaryOp>where
Other: ObservableExt<OtherItem, Err>,
BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
fn combine_latest<Other, OtherItem, BinaryOp, OutputItem>( self, other: Other, binary_op: BinaryOp ) -> CombineLatestOp<Self, Other, BinaryOp>where Other: ObservableExt<OtherItem, Err>, BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
Emits item which is combining latest items from two observables. Read more
fn combine_latest_threads<Other, OtherItem, BinaryOp, OutputItem>( self, other: Other, binary_op: BinaryOp ) -> CombineLatestOpThread<Self, Other, BinaryOp>where Other: ObservableExt<OtherItem, Err>, BinaryOp: FnMut(Item, OtherItem) -> OutputItem,
source§fn start_with<B>(self, values: Vec<B>) -> StartWithOp<Self, B>
fn start_with<B>(self, values: Vec<B>) -> StartWithOp<Self, B>
Returns an observable that, at the moment of subscription, will
synchronously emit all values provided to this operator, then subscribe
to the source and mirror all of its emissions to subscribers.
source§fn pairwise(self) -> PairwiseOp<Self>
fn pairwise(self) -> PairwiseOp<Self>
Groups pairs of consecutive emissions together and emits them as an pair
of two values.
source§fn tap<F>(self, f: F) -> TapOp<Self, F>where
F: FnMut(&Item),
fn tap<F>(self, f: F) -> TapOp<Self, F>where F: FnMut(&Item),
Used to perform side-effects for notifications from the source observable
source§fn on_error<F>(self, f: F) -> OnErrorOp<Self, F, Err>where
F: FnOnce(Err),
fn on_error<F>(self, f: F) -> OnErrorOp<Self, F, Err>where F: FnOnce(Err),
Process the error of the observable and the return observable can’t catch the error any more.
fn on_complete<F>(self, f: F) -> OnCompleteOp<Self, F>where F: FnOnce(),
source§fn complete_status(self) -> (StatusOp<Self>, Arc<CompleteStatus>)
fn complete_status(self) -> (StatusOp<Self>, Arc<CompleteStatus>)
Turn the observable to an new observable that will track its complete
status.
The second element of return tuple provide ability let you can query if it
completed or error occur. You can also wait the observable finish.
source§fn collect<C>(self) -> CollectOp<Self, C>where
C: IntoIterator + Extend<C::Item> + Default,
fn collect<C>(self) -> CollectOp<Self, C>where C: IntoIterator + Extend<C::Item> + Default,
Collects all the items emitted by the observable into a collection. Read more
source§fn collect_into<C>(self, collection: C) -> CollectOp<Self, C>where
C: IntoIterator + Extend<C::Item>,
fn collect_into<C>(self, collection: C) -> CollectOp<Self, C>where C: IntoIterator + Extend<C::Item>,
Collects all the items emitted by the observable into the given collection. Read more
Auto Trait Implementations§
impl<Key, Subject> RefUnwindSafe for KeyObservable<Key, Subject>where Key: RefUnwindSafe, Subject: RefUnwindSafe,
impl<Key, Subject> Send for KeyObservable<Key, Subject>where Key: Send, Subject: Send,
impl<Key, Subject> Sync for KeyObservable<Key, Subject>where Key: Sync, Subject: Sync,
impl<Key, Subject> Unpin for KeyObservable<Key, Subject>where Key: Unpin, Subject: Unpin,
impl<Key, Subject> UnwindSafe for KeyObservable<Key, Subject>where Key: UnwindSafe, Subject: UnwindSafe,
Blanket Implementations§
source§impl<'a, Item, Err, O> BoxIt<BoxOp<'a, Item, Err>> for Owhere
O: BoxObservable<'a, Item, Err> + 'a,
impl<'a, Item, Err, O> BoxIt<BoxOp<'a, Item, Err>> for Owhere O: BoxObservable<'a, Item, Err> + 'a,
source§impl<Item, Err, O> BoxIt<BoxOpThreads<Item, Err>> for Owhere
O: BoxObservableThreads<Item, Err> + Send + 'static,
impl<Item, Err, O> BoxIt<BoxOpThreads<Item, Err>> for Owhere O: BoxObservableThreads<Item, Err> + Send + 'static,
source§fn box_it(self) -> BoxOpThreads<Item, Err>
fn box_it(self) -> BoxOpThreads<Item, Err>
box an observable to a safety object and convert it to a simple type
BoxOp, which only care Item and Err Observable emitted. Read moresource§impl<'a, Item, Err, O> BoxIt<CloneableBoxOp<'a, Item, Err>> for Owhere
O: CloneableBox<'a, Item, Err> + 'a,
impl<'a, Item, Err, O> BoxIt<CloneableBoxOp<'a, Item, Err>> for Owhere O: CloneableBox<'a, Item, Err> + 'a,
source§fn box_it(self) -> CloneableBoxOp<'a, Item, Err>
fn box_it(self) -> CloneableBoxOp<'a, Item, Err>
box an observable to a safety object and convert it to a simple type
BoxOp, which only care Item and Err Observable emitted. Read moresource§impl<Item, Err, O> BoxIt<CloneableBoxOpThreads<Item, Err>> for Owhere
O: CloneableBoxThreads<Item, Err> + Send + 'static,
impl<Item, Err, O> BoxIt<CloneableBoxOpThreads<Item, Err>> for Owhere O: CloneableBoxThreads<Item, Err> + Send + 'static,
source§fn box_it(self) -> CloneableBoxOpThreads<Item, Err>
fn box_it(self) -> CloneableBoxOpThreads<Item, Err>
box an observable to a safety object and convert it to a simple type
BoxOp, which only care Item and Err Observable emitted. Read more